欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-19 13:23:46
最近想找一些新颖的等待框,但一直找不到理想的效果,没有办法,只好自己动手丰衣足食了。 先给大家看个效果图! 首先就是新建一个dialog的xml文件了 &...

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

先给大家看个效果图!

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

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

上一篇:

下一篇: