【发布时间】:2017-12-29 23:58:26
【问题描述】:
我想在用户在屏幕上的任意位置滑动时获得反馈。我发现了一些使用 onTouchListener 的代码。它奏效了。 今天我对我的 UI 设置进行了一些修改,并添加了许多新的布局以更好地组织它。但是我的 onTouch 事件再也不会触发了!
我的猜测是某些布局可能会重叠并窃取事件。但我没有成功尝试在 xml 中使用以下参数。
android:clickable="false"
android:focusable="false"
android:touchscreenBlocksFocus="false"
android:visibility="invisible"
这是在 onCreate 中运行的代码:
View window = getWindow().getDecorView();
window.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("YEY! A TOUCH EVENT!");
return true;
}
});
RelativeLayout tab1 = (RelativeLayout) findViewById(R.id.layTab1);
tab1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("YEY! A TOUCH EVENT!");
return true;
}
});
任何关于添加新布局时可能发生变化的想法都非常受欢迎!
【问题讨论】:
标签: android-layout android-studio ontouchlistener