使用自定义透明Dialog样式的Activity

来源:互联网 发布:布吉岛漫画软件 编辑:程序博客网 时间:2024/05/17 20:09

有时你需要一个对话框,但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有Dialog样式的Activity来应用你的项目中,

想使Activity有对话框那样效果可以在Androidmanifest中添加 android:style/Theme.Dialog 的主题特性 

<activity android:name="com.yucheng.bocinfo.personal.CommonUpdateActivity"  android:screenOrientation="portrait" android:theme="@style/update_dialog"/>


<resources xmlns:android="http://schemas.android.com/apk/res/android">  
    <style name="add_dialog" parent="@android:style/Theme.Dialog">  
        <item name="android:windowFrame">@null</item><!-- 边框 -->  
        <item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 -->  
        <item name="android:windowIsTranslucent">false</item><!-- 半透明 -->  
        <item name="android:windowNoTitle">true</item><!-- 无标题 -->  
        <item name="android:windowBackground">@drawable/bg_search_end</item><!-- 自己想要的背景 -->  
        <item name="android:backgroundDimEnabled">false</item><!-- 模糊 -->  
</style>  


--设置动画,从左侧进入
<style name="update_dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@drawable/xml_seat_shape</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>



startActivity(new Intent(PersonalSystemSettingActivity.this,CommonUpdateActivity.class));
或者可以用这种方式启动
 View diaView=View.inflate(PersonalSystemSettingActivity.this, R.layout.common_update, null);
Dialog dialog=new Dialog(PersonalSystemSettingActivity.this,R.style.up_dialog);//这里应用了你的自定义样式
dialog.setContentView(diaView);
dialog.show();

0 0
原创粉丝点击