【发布时间】:2018-10-18 10:14:17
【问题描述】:
代码
private RelativeLayout mToolbar;
mToolbar = (RelativeLayout) myview.findViewById(R.id.toolbar);
mToolbar.setOnTouchListener(new View.OnTouchListener() {
WindowManager.LayoutParams updatedParameters = finalParameters;
double x;
double y;
double pressedX;
double pressedY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x = updatedParameters.x;
y = updatedParameters.y;
pressedX = event.getRawX();
pressedY = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
updatedParameters.x = (int) (x + (event.getRawX() - pressedX));
updatedParameters.y = (int) (y + (event.getRawY() - pressedY));
wm.updateViewLayout(myview, updatedParameters);
default:
break;
}
return false;
}
});
我有一个服务,上面的代码可以在屏幕中移动该服务......之前我必须触摸一个按钮并移动它。我现在将它切换到布局,它不再工作了 为什么这不起作用?我将相同的代码与按钮一起使用,并且效果很好。 onTouch 是否总是必须是按钮,或者也可以是布局或文本视图?
【问题讨论】:
-
当您的代码使用 onTouch 侦听器时,您的问题标题显示 onClick 侦听器?还有什么不适用于上面的代码
-
代码不执行...根据代码我应该可以移动布局
标签: java android xml android-studio android-layout