как переключить несколько функций ontouchlistener в андроиде
У меня есть два ontouchlistener функции, перетаскивание и изменение размеров функции. Я хочу сделать это, если кнопка перетаскивания кнопки onclick может выполнять перетаскивание ontouchlistener, если я нажму кнопку изменения размера, он сможет выполнить функцию reize ontouchlistener. имеет ли смысл использовать корпус переключателя в этом случае? Извините за мой английский, надежда может понять мой вопрос
public class Tab3 extends Fragment implements View.OnTouchListener {
Button psave;
TextView textView3;
public static final String PREFERENCES_FILE_NAME = "MyAppPreferences";
private int xDelta;
private int yDelta;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View h = inflater.inflate(R.layout.tab3, container, false);
RelativeLayout rl = (RelativeLayout)h.findViewById(R.id.RLtab3);
textView3 = (TextView) h.findViewById(R.id.textView3);
Button btnAddARoom = new Button(getActivity());
btnAddARoom.setText("Test");
btnAddARoom.setOnTouchListener(this);
rl.addView(btnAddARoom);
return h;
}
public boolean onTouch(View view, MotionEvent event) {
switch(view.getId()) {
case R.id.move:
final int X = (int) event.getRawX();
final int Y = (int) event.getRawY();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
RelativeLayout.LayoutParams Params = (RelativeLayout.LayoutParams) view.getLayoutParams();
xDelta = X - Params.leftMargin;
yDelta = Y - Params.topMargin;
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
layoutParams.leftMargin = X - xDelta;
layoutParams.topMargin = Y - yDelta;
layoutParams.rightMargin = -50;
layoutParams.bottomMargin = -50;
view.setLayoutParams(layoutParams);
}
return false;
case R.id.tresize :
int x=(int)event.getX();
int y=(int)event.getY();
int width= view.getLayoutParams().width;
int height = view.getLayoutParams().height;
if((x - width <= 20 && x - width > 0) ||(width - x <= 20 && width - x > 0)){
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
Log.e(">>","width:"+width+" height:"+height+" x:"+x+" y:"+y);
view.getLayoutParams().width = x;
view.getLayoutParams().height = y;
view.requestLayout();
break;
case MotionEvent.ACTION_UP:
break;
}
}
}return true;
}
}
спасибо, что это код android java –