Android: 使用 Dialog 的三种方式
简介: 因为代码中的各种需求,需要用到 Dialog 的方式都不相同。因为用过其中两种了,觉得还不错,打算总结一下。
一. 使用 DialogFragment
这应该是最常见也是最推荐的一种用法,使用步骤如下,可以参考之前的文章 Android: DialogFragment 篇
为 Activity 定义一个样式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<style name="dialog_style">
<!--设置dialog的背景-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--设置Dialog的windowFrame框为无-->
<item name="android:windowFrame">@null</item>
<!--设置无标题-->
<item name="android:windowNoTitle">true</item>
<!--是否浮现在activity之上-->
<item name="android:windowIsFloating">true</item>
<!--是否半透明-->
<item name="android:windowIsTranslucent">true</item>
<!--设置窗口内容不覆盖-->
<item name="android:windowContentOverlay">@null</item>
<!--设置动画,在这里使用让它继承系统的Animation.Dialog-->
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<!--背景是否模糊显示-->
<item name="android:backgroundDimEnabled">true</item>
</style>在
AndroidMainfest.xml
中,将Activity
的主题设定为 1的style
1
2
3<activity
android:name=".ImageActivity"
android:theme="@style/dialog_style" />自定义布局文件,设置启动条件,就能看到效果了。