将Activity设置成窗口的样式实现Dialog效果在开发中是很常用的一种方式,在AndroidMenifest.xml中将需要设置的Activity增加android:theme="@android:style/Theme.Dialog"属性即可。但是窗口化的Activity有个问题就是:点击窗口空白处Activity会自动finish。如何避免这个问题呢,办法如下:
- 在样式中为Activity设置样式
res\values\styles.xml
<resources> <style name="Theme.SoundRecorder" parent="@android:style/Theme.Holo.DialogWhenLarge"> <item name="android:windowCloseOnTouchOutside">false</item> </style> </resources>
-
在代码中编写
You_Activity.this.setFinishOnTouchOutside(false);