Android实现可使用自定义透明Dialog样式的Activity完整实例
本文实例讲述了android实现可使用自定义透明dialog样式的activity。分享给大家供大家参考,具体如下:
有时你需要一个对话框,但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有dialog样式的activity来应用你的项目中,想使activity有对话框那样效果可以在androidmanifest中添加 android:style/theme.dialog 的主题特性
例如这样:
<activity android:name="mydialogactivity" android:theme="@android:style/theme.dialog"> </activity>
如果你觉得上面不足以满足你的需求想实现 半透明的, 圆角的,不妨可以试试自定义对话框的style
首先
第一步: 准备工作要做好 一张.9图片
loading_bg.9.png
第二步 :自定义style 在你项目 values 文件夹中创建一个styles.xml 文件
接着在styles文件中添加 名为 mydialogstyle的style
<style name="mydialogstyle"> <item name="android:windowbackground">@android:color/transparent</item> <item name="android:windowframe">@null</item> <item name="android:windownotitle">true</item> <item name="android:windowisfloating">true</item> <item name="android:windowistranslucent">true</item> <item name="android:windowcontentoverlay">@null</item> <item name="android:windowanimationstyle">@android:style/animation.dialog</item> <item name="android:backgrounddimenabled">true</item> </style>
第三步:dialog的布局 在layout文件夹中添加布局文件 activity_main.xml
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <relativelayout android:layout_width="180dp" android:layout_height="180dp" android:layout_centerinparent="true" android:background="@drawable/loading_bg" > <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignparentleft="true" android:layout_alignparenttop="true" android:gravity="center" android:orientation="vertical" > <progressbar android:id="@+id/progressbar1" style="?android:attr/progressbarstylelarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="10dp" android:text="正在登录" android:textcolor="#fff" android:textsize="20sp" /> </linearlayout> </relativelayout> </relativelayout>
创建 dialogactivity类
public class dialogactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // 这里你可以进行一些等待时的操作,我这里用8秒后显示toast代理等待操作 new handler().postdelayed(new runnable(){ @override public void run(){ dialogactivity.this.finish(); toast.maketext(getapplicationcontext(), "登录成功", toast.length_short).show(); } }, 8000); } }
第四步 : 在manifest文件中对dialogactivity进行注册,并使用上面自定义mydialogstyle样式
<activity android:name="loadingactivity" android:theme="@style/mydialogstyle" />
第五步:运行工程并查看效果图
打完收工
更多关于android相关内容感兴趣的读者可查看本站专题:《android编程之activity操作技巧总结》、《android控件用法总结》、《android视图view技巧总结》、《android文件操作技巧汇总》、《android操作sqlite数据库技巧总结》、《android操作json格式数据技巧总结》、《android数据库操作技巧总结》、《android编程开发之sd卡操作方法汇总》、《android开发入门与进阶教程》及《android资源操作技巧汇总》
希望本文所述对大家android程序设计有所帮助。