android基于dialog实现等待加载框示例

最近想找一些新颖的等待框,但一直找不到理想的效果,没有办法,只好自己动手丰衣足食了。

先给大家看个效果图!

首先就是新建一个dialog的XML文件了

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:background="@drawable/ic_loading_bg" 
 android:gravity="center" 
 android:orientation="vertical" 
 android:padding="16.0dip" > 
 
 <ProgressBar 
  android:layout_width="24.0dip" 
  android:layout_height="24.0dip" 
  android:indeterminateDrawable="@drawable/progress_drawable_white" /> 
 
 <TextView 
  android:id="@+id/id_tv_loadingmsg" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:layout_gravity="center_vertical" 
  android:layout_marginTop="8.0dip" 
  android:textColor="@color/white" 
  android:textSize="16.0dip" /> 
 
</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(); 

就OK了

demo下载地址:ProgressDialog_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。