开发过程中可能需要将Activity设置成Dialog模式,只需要在Manifest.xml配置:
<activity
android:name=".DialogActivity"
android:theme="@style/MyDialogStyleBottom"
android:screenOrientation="landscape"
android:label="@string/title_activity_dialog" >
</activity>
android:theme="@style/MyDialogStyleBottom" 将主题设置成Dialog模式
style.xml中配置如下:
<style name="MyDialogStyleBottom" parent="android:Theme.Dialog" >
<!-- 进入和退出时动画-->
<item name="android:windowAnimationStyle">@style/AnimBottom</item>
<item name="android:windowFrame">@null</item><!--边框-->
<item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item name="android:windowIsTranslucent">true</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--无标题-->
<item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item name="android:backgroundDimEnabled">true</item><!--模糊-->
<!-- 点击空白区域是否消失 API Level>=11-->
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
<style name="AnimBottom" parent="@android:style/Animation">
<item name="android:windowEnterAnimation">@anim/push_bottom_in</item>
<item name="android:windowExitAnimation">@anim/push_bottom_out</item>
</style>
点击空白区域消失的另一种方式:YourActivity.this.setFinishOnTouchOutside(false);