【发布时间】:2015-03-18 07:44:11
【问题描述】:
我为一个可以通过手指按下移动或拖动的按钮编写了所有代码,现在我还希望该按钮在单击时执行某些操作(例如,在我的情况下单击时转到网站) 我在一个单独的类中实现了所有代码,如下所示:
public class MultiTouchListener implements OnTouchListener
{
private float mPrevX;
private float mPrevY;
public MainActivity mainActivity;
public MultiTouchListener(MainActivity mainActivity1) {
mainActivity = mainActivity1;
}
@Override
public boolean onTouch(View view, MotionEvent event) {
float currX,currY;
int action = event.getAction();
switch (action ) {
case MotionEvent.ACTION_DOWN: {
mPrevX = event.getX();
mPrevY = event.getY();
break;
}
case MotionEvent.ACTION_MOVE:
{
currX = event.getRawX();
currY = event.getRawY();
MarginLayoutParams marginParams = new MarginLayoutParams(view.getLayoutParams());
marginParams.setMargins((int)(currX - mPrevX), (int)(currY - mPrevY),0, 0);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
view.setLayoutParams(layoutParams);
break;
}
case MotionEvent.ACTION_CANCEL:
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
}
我在我的主要活动中这样称呼它
MultiTouchListener touchListener=new MultiTouchListener(this);
onButton.setOnTouchListener(touchListener);
可移动的拖放按钮工作正常,我只想让这个按钮在按下时打开一个网站链接,我必须在我的代码中进行哪些更改才能执行此操作。谢谢。
【问题讨论】: