Android 自定义加载框dialog
来源:互联网 发布:clean my mac 怎么样 编辑:程序博客网 时间:2024/05/01 07:15
1、首先准备好图片资源,写一个自定义的drawable(progress_drawable_white),实现动画功能。
<?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>
2、布局文件是少不了的,接着。。。(dialog_my)
<?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="30.0dip" android:layout_height="30.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="#fff" android:textSize="16.0dip" /></LinearLayout>3、res包下values包需要之定义style(style_dialog)
<?xml version="1.0" encoding="utf-8"?><resources> <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></resources>
4、BaseActivity中书写公共的方法,以后项目中所有的Activity只要继承BaseActivity,只需调用方法就行了。加载提示的内容我写了两种,可以这样用,十分方便。
package com.sunday.myprogresdialog;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;import android.widget.TextView;public class BaseActivity extends Activity {private Dialog progressDialog;/** * Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}/** * * @Description: TODO 自定义加载提示内容 * @param @param id * @return void 用法buildProgressDialog(R.string.loding) * @throws * @author Sunday * @date 2015年12月25日 */public void buildProgressDialog(int id) {if (progressDialog == null) {progressDialog = new Dialog(this, R.style.progress_dialog);}progressDialog.setContentView(R.layout.dialog_my);progressDialog.setCancelable(true);progressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);TextView msg = (TextView) progressDialog.findViewById(R.id.id_tv_loadingmsg);msg.setText(getString(id));progressDialog.show();}/** * @Description: TODO 固定加载提示内容 * @author Sunday */public void buildProgressDialog() {if (progressDialog == null) {progressDialog = new Dialog(this, R.style.progress_dialog);}progressDialog.setContentView(R.layout.dialog_my);progressDialog.setCancelable(true);progressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);TextView msg = (TextView) progressDialog.findViewById(R.id.id_tv_loadingmsg);msg.setText("卖力加载中");progressDialog.show();}/** * @Description: TODO 取消加载框 * @author Sunday * @date 2015年12月25日 */public void cancelProgressDialog() {if (progressDialog != null) {progressDialog.dismiss();}}}
5、只需调用buildProgressDialog()和cancelProgressDialog()就能实现加载和取消了。
项目效果图
项目下载地址
MyProgressDialog
3 0
- Android 自定义加载框dialog
- Android 之自定义加载Dialog
- Android自定义加载中Dialog
- Android 自定义加载Dialog 运行效果流畅
- Android 自定义Dialog,文字动态加载效果。
- Android-AnimationDrawable自定义加载动画dialog
- 自定义Dialog android Dialog
- Andriod Dialog 加载框 自定义,公用
- 自定义Dialog加载动画
- 加载底部自定义Dialog
- 自定义加载中Dialog
- 自定义加载Dialog
- android 自定义弹出框Dialog
- android 自定义提示框Dialog
- android自定义dialog弹出框
- android 自定义Dialog页面加载中效果的进度条 Dialog 边角 Dialog 棱角
- Android--自定义弹出框-自定义dialog
- Android项目中使用自定义进度加载Dialog
- tableview的复用机制
- PLSQL编程中的3种循环结构
- Android生成厂商包
- 解决360浏览器优先选择极速模式,在兼容模式下出现乱码问题
- 手机APP自动化测试简单录制
- Android 自定义加载框dialog
- jQuery工具函数
- mysql 规范
- 解决Error:ftl页面通过form提交表单,后台java类接收的值为null
- 线程池
- Install liblinear on Mac OSX
- 机器学习(二):分类算法之k-近邻算法
- 概率算法
- (并查集第一课) 冗余关系 - 树/森林