【发布时间】:2014-01-17 17:13:27
【问题描述】:
我的活动 A 超过了活动 B。活动 A 没有填满整个屏幕。(虽然它不是对话框活动)当在活动 A 边界外检测到触摸事件时,我想关闭活动 A。如何检测活动边框外的触摸事件?
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
Toast.makeText(getApplicationContext(), "Hi", 3000).show();
return true;
}
return false;
}
此代码不起作用,因为它仅适用于对话活动。请帮助..提前谢谢:)
【问题讨论】:
-
Activity A 没有填满整个屏幕。(虽然它不是对话框活动)..那么它是什么.?..您可能没有使用全屏..但它占据了整个..你可以设置 x,y 限制如果超过你可以做这样的操作
-
@manmohan 活动不必填满整个屏幕。 ...我已填充活动以使其显示为对话框活动
-
除了填充之外,您还可以将主题对话框用于活动。如果我认为如您所说,那么告诉任何其他活动或其他东西可以使用剩余空间。假设如果触摸超出活动范围,那么活动如何现在会得到它。为了让你更清楚,Windowmanager 会得到所有的 touchevent,因为它是整个 Display 的一个实例。
标签: java android android-layout view android-activity