android基于dialog实现等待加载框
首先就是新建一个dialog的XML文件了
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:background="@drawable/ic_loading_bg" 6 android:gravity="center" 7 android:orientation="vertical" 8 android:padding="16.0dip" > 9 10 <ProgressBar 11 android:layout_width="24.0dip" 12 android:layout_height="24.0dip" 13 android:indeterminateDrawable="@drawable/progress_drawable_white" /> 14 15 <TextView 16 android:id="@+id/id_tv_loadingmsg" 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 android:layout_gravity="center_vertical" 20 android:layout_marginTop="8.0dip" 21 android:textColor="@color/white" 22 android:textSize="16.0dip" /> 23 24 </LinearLayout>
ic_loading_bg就是一个背景的图片。关于上面的drawable中的progress_drawable_white.xml文件如下,
<?xml version="1.0" encoding="utf-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="83" android:drawable="@drawable/ic_loading_white_01" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_02" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_03" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_04" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_05" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_06" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_07" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_08" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_09" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_10" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_11" /> <item android:duration="83" android:drawable="@drawable/ic_loading_white_12" /> </animation-list>
这12个都是图片来的。
核心显示等待框代码如下,
progressDialog = new Dialog(AboutActivity.this,R.style.progress_dialog);
progressDialog.setContentView(R.layout.progress);
progressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
TextView msg = (TextView) progressDialog.findViewById(R.id.id_tv_loadingmsg);
msg.setText("卖力加载中");
progressDialog.show();
其中的文字可以自己改了,方便直接。
给新手的提示,记得在开头写上 private Dialog progressDialog;(老鸟可以忽略这个啦)
里面有个style,加上下面的代码到style.xml文件里面就OK了!
<style name="progress_dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:background">@null</item> <item name="android:windowBackground">@null</item> <item name="android:backgroundDimEnabled">false</item> </style>
关于如何让这个消失,在需要消失的地方加上
progressDialog.dismiss();
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。