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(); 

dialog动态加载图.rar

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。