2

我的项目中有一个活动,清单中的此条目显示为DialogActivity

<activity android:name=".ActivityDialog" android:theme="@android:style/Theme.Dialog">    </activity>

Activity 不会覆盖整个屏幕,所以我的问题是:

是否可以通过单击它来销毁此 DialogActivity?那么在普通对话框中是可能的吗?

谢谢!

4

2 回答 2

1

Theme.Dialog 设置了一些填充,因此它不会覆盖整个屏幕。如果您有兴趣在此边界区域单击时销毁对话框,请为父布局设置一个触摸侦听器,将 X,y 与适当的数字进行比较,以确保这是其所需的区域。

于 2011-11-14T11:54:24.660 回答
0

未来:我提出了同样的问题,但答案对我没有帮助。

我结束了,设置了一个 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);
}
于 2012-09-20T10:10:10.380 回答