我的项目中有一个活动,清单中的此条目显示为DialogActivity:
<activity android:name=".ActivityDialog" android:theme="@android:style/Theme.Dialog"> </activity>
Activity 不会覆盖整个屏幕,所以我的问题是:
是否可以通过单击它来销毁此 DialogActivity?那么在普通对话框中是可能的吗?
谢谢!
Theme.Dialog 设置了一些填充,因此它不会覆盖整个屏幕。如果您有兴趣在此边界区域单击时销毁对话框,请为父布局设置一个触摸侦听器,将 X,y 与适当的数字进行比较,以确保这是其所需的区域。
未来:我提出了同样的问题,但答案对我没有帮助。
我结束了,设置了一个 onTouchEvent 函数。除了对话框视图之外,此功能也会引发。
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("onTouchEvent",event.getX() + " " + event.getY());
// check if X and Y aren't in dialog area, then finish() or something
return super.onTouchEvent(event);
}