Activity设置成Dialog模式

来源:互联网 发布:流程的再造与优化 编辑:程序博客网 时间:2024/05/01 01:05

开发过程中可能需要将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);  


0 0