有可能吗?我喜欢在用户想要的任何地方拖动屏幕上的浮动按钮。就像让浮动按钮移动一样。例如,如果用户想要它在右上角,他会将按钮拖动到屏幕的右上角。
我想知道是否可能。如果是这样,怎么样?
答案 0 :(得分:0)
是的,您可以通过设置其x和y坐标在屏幕上移动视图。 因此,在您的情况下,当您想根据用户输入(拖放)在屏幕上移动浮动按钮时,您必须使用MotionEvent.ACTION_MOVE操作在屏幕上获取用户触摸的坐标并将该坐标设置为您的按钮在同一时间。
请尝试以下代码:
yourFloatingButton.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent me){
if (me.getAction() == MotionEvent.ACTION_DOWN){
oldXvalue = me.getX();
oldYvalue = me.getY();
Log.i(myTag, "Action Down " + oldXvalue + "," + oldYvalue);
}else if (me.getAction() == MotionEvent.ACTION_MOVE ){
LayoutParams params = new LayoutParams(v.getWidth(), v.getHeight(),(int)(me.getRawX() - (v.getWidth() / 2)), (int)(me.getRawY() - (v.getHeight())));
v.setLayoutParams(params);
}
return true;
}
});
希望它可以帮到你!