博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android透明无边框圆形进度条之最简单实现
阅读量:4934 次
发布时间:2019-06-11

本文共 1298 字,大约阅读时间需要 4 分钟。

 很多人在项目中做长时间操作时,比如访问web service后台数据,都想显示一个透明无边框的圆形进度条,如下图:

        不幸的是,Android系统自带的ProgressDialog,无论如何设置Theme、style,或者用java代码设置什么属性,边框都是去不掉的,至少我现在还不知道怎么去掉:

        怎么办?

        其实很简单,自定义一个ProgressDialog,加载自己的layout!

        先上layout xml:

1 
2

android:interpolator="@android:anim/linear_interpolator"这句话表示进度条动画是匀速的。

 

        再来定义一个CustomProgressDialog:

1 public class CustomProgressDialog extends ProgressDialog{ 2  3     public CustomProgressDialog(Context context) { 4         super(context); 5     } 6      7     public CustomProgressDialog(Context context, int theme) { 8         super(context, theme); 9     }10 11     @Override12     protected void onCreate(Bundle savedInstanceState) {13         super.onCreate(savedInstanceState);14         setContentView(R.layout.dialog_progress);15     }16     17     public static CustomProgressDialog show(Context ctx){18         CustomProgressDialog d = new CustomProgressDialog(ctx);19         d.show();20         return d;21     }22 }

至于怎么用这个Dialog,就不用我教了吧。new一个CustomProgressDialog实例,然后调用继承来的show()方法也行,直接使用我们上面定义的静态show()方法也可,看个人偏好。

        有几点需要说明一下:

        1. 也可以继承AlertDialog,效果一样。

        2. 虽然我们在onCreate()方法里已经加载了自己的layout,但并不妨碍调用基类的方法,设置title、content,效果和直接用基类ProgressDialog一样,无视自定义。

        easy?本文只是提供一个最简单实现,相信已经能满足大部分的需求了,更深入的东西自己摸索去吧。

转载于:https://www.cnblogs.com/ggzjj/archive/2013/01/12/2857618.html

你可能感兴趣的文章
14-6-27&28自学内容小结
查看>>
JSP
查看>>
---
查看>>
(第一组_GNS3)自反ACl
查看>>
hdu--1258--Sum It Up(Map水过)
查看>>
Spring @DeclareParents 的扩展应用实例
查看>>
VS2012更新Update1后帮助查看器无法打开
查看>>
【Weiss】【第03章】练习3.9:大整数运算包
查看>>
Android 文件的读取和写入
查看>>
机器学习-加权采样算法简介
查看>>
高校表白APP-冲刺第四天
查看>>
outlook 设置163邮箱
查看>>
mysql优化——show processlist命令详解
查看>>
Solr服务器搭建
查看>>
画世界怎么用光影_世界绘画经典教程:水彩光影魔法教程
查看>>
win+rsync+php,跨平台的fswatch+rsync同步备份
查看>>
vue2 cdn 加载html,vue项目中使用CDN加载
查看>>
数组转集合踩坑
查看>>
node.js的异步I/O、事件驱动、单线程
查看>>
vue cli3 子目录问题
查看>>