Android基于Dialog实现加载框
16lz
2021-01-26
先给大家看个效果图!
首先就是新建一个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就是一个背景的图片。
- <?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">@nullitem>
- <item name="android:windowIsFloating">trueitem>
- <item name="android:windowIsTranslucent">trueitem>
- <item name="android:windowNoTitle">trueitem>
- <item name="android:background">@nullitem>
- <item name="android:windowBackground">@nullitem>
- <item name="android:backgroundDimEnabled">falseitem>
- style>
关于如何让这个消失,在需要消失的地方加上 [java] view plain copy print ?
- progressDialog.dismiss();
开源网址 github:点击打开链接
更多相关文章
- 安卓模拟器Android(安卓)SDK Manager 无法获取SDK列表的解决办法
- Android(安卓)Studio Error—Gradle: 错误:编码 GBK 的不可映射
- Android多国语言文件夹命名方式
- android 开发中使用okhttp上传文件到服务器
- Android(安卓)studio 异常记录
- Android(安卓)log日志信息获取
- 为Android2.3添加下拉通知栏的快捷开关
- android中对程序进行数字证书签名的方法
- android studio IDE 下,设置ACTIVITY全屏