Android Activity显示成对话框Dialog
方法一
直接设置已有的Dialog样式的主题,比如
<activity
android:name=".DialogActivity"
android:theme="@style/Theme.AppCompat.Dialog"/>
方法二
自定义主题theme,让后设置Activity的主题为该主题
先在styles.xml文件中自定义对话框样式的主题
<resources>
<style name="ActivityDialog">
<!--这是重点,把Activity显示成Dialog-->
<item name="android:windowIsFloating">true</item>
<!--这是第二个重点,对话框外背景半透,才有对话的效果-->
<item name="android:backgroundDimEnabled">true</item>
<!--是否显示标题-->
<item name="android:windowNoTitle">true</item>
<!--设置对话框的背景-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--点击对话框外是否关闭窗口-->
<item name="android:windowCloseOnTouchOutside">true</item>
</style>
</resources>
然后把Activity的theme设置成自定义的主题
<activity
android:name=".DialogActivity"
android:theme="@style/ActivityDialog"/>
方法三
还有一种方法是继承已有的Dialog主题,这样比较灵活,可以继承父主题已定义的属性,又可以自定义一些属性
比如继承已有的"Theme.AppCompat.Dialog"主题,然后不显示标题,自定义背景色,点击对话框外部关闭对话框。
<style name="MyDialog" parent="Theme.AppCompat.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowCloseOnTouchOutside">true</item>
</style>
然后设置该主题
<activity
android:name=".DialogActivity"
android:theme="@style/MyDialog"/>

浙公网安备 33010602011771号