最近在项目开发中遇到了一个难题,需要先弹出一个Dialog然后点击Diaolog上面的按钮之后再弹出一个Dialog 大概就是如下:
按着上面的思路开始来了,发现了一个问题,一个界面当前只能显示一个Dialog,有一个Dialog存在的时候就不能去显示另一个Dialog,然后就想到了用Activity的style去设置,让Activity去显示上面的一层。
下面来说一个我的想法和步骤:
1.创建一个style,
<style name="dialog_style" parent="@android:style/Theme.Translucent.NoTitleBar">
<!--是否悬浮在activity上-->
<item name="android:windowIsFloating">true</item>
<!--透明是否-->
<item name="android:windowIsTranslucent">true</item>
<!--activity的背景颜色(一定要设置成#00000000)-->
<item name="android:background">#00000000</item>
<!--没有标题-->
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<!--可以设置Activity的弹出和消失动画(可选)-->
<!--<item name="android:windowAnimationStyle">@style/animation_style</item>-->
</style>
2.给需要显示成Dialog样式的Activity设置样式:
<activity
android:name=".LingQuSuccesActivity"
android:theme="@style/dialog_style" />
3.注意下面一点Activity的布局文件里面,根布局的颜色要设置成#00000000,否则设置出来的效果不是半透明的,
按着这三步来,很快就把问题解决了,而且我们这个项目里面有好多那种成功界面,这样写的话,可以复用同一个Activity,很简单,想试试的可以尝试一下。