禁用 BackGroundLayout 的TouchEvent
和Click
。
在我的应用程序中,我遇到了touchevent的问题。在这里我有两个形象要描述。
我创建了一个仅用于教学目的的布局,因此用户可以完善它。 布局 [image1]具有透明主题和一个按钮[获取]。
正如本教程所说(触摸任何绘制位置),用户按照本教程触摸绘制线条的任何位置,但它也会绘制该线条 在背景布局上也看到 [image2]。它在touchevent上绘制线条
我无法理解为什么它允许触摸实际处于背景中的一个视图。
简而言之,当用户遵循本教程时,它不允许在主布局上触摸和绘制线条。
我不反对禁用背景视图的touchevent。
我也在检查我的布局的所有子布局,但我仍然可以点击并触摸背景布局的事件。 我也对此活动有同样的问题Image 3
我把这段代码放在侧面布局的触摸事件
中 @Override
public boolean onTouchEvent(MotionEvent event) {
return false;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Make the checkbox not respond to any user event
return false;
}
@Override
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
// Make the checkbox not respond to any user event
return false;
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
// Make the checkbox not respond to any user event
return false;
}
@Override
public boolean onKeyShortcut(int keyCode, KeyEvent event) {
// Make the checkbox not respond to any user event
return false;
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// Make the checkbox not respond to any user event
return false;
}
@Override
public boolean onTrackballEvent(MotionEvent event) {
// Make the checkbox not respond to any user event
return false;
}
这个背景布局代码。
@Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
child.setEnabled(enabled);
}
}