Android透明无边框圆形进度条之最简单实现
来源:互联网 发布:淘宝怎么样才能排名靠前 编辑:程序博客网 时间:2024/04/30 04:54
http://blog.csdn.net/javasecret/article/details/7579698
很多人在项目中做长时间操作时,比如访问web service后台数据,都想显示一个透明无边框的圆形进度条,如下图:
不幸的是,Android系统自带的ProgressDialog,无论如何设置Theme、style,或者用java代码设置什么属性,边框都是去不掉的,至少我现在还不知道怎么去掉:
怎么办?
其实很简单,自定义一个ProgressDialog,加载自己的layout!
先上layout xml:
<?xml version="1.0" encoding="UTF-8"?><ProgressBar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:interpolator="@android:anim/linear_interpolator" />
android:interpolator="@android:anim/linear_interpolator"这句话表示进度条动画是匀速的。
再来定义一个CustomProgressDialog:
public class CustomProgressDialog extends ProgressDialog{public CustomProgressDialog(Context context) {super(context);}public CustomProgressDialog(Context context, int theme) {super(context, theme);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.dialog_progress);}public static CustomProgressDialog show(Context ctx){CustomProgressDialog d = new CustomProgressDialog(ctx);d.setCancelable(false);d.show();return d;}}
至于怎么用这个Dialog,就不用我教了吧。new一个CustomProgressDialog实例,然后调用继承来的show()方法也行,直接使用我们上面定义的静态show()方法也可,看个人偏好。
有几点需要说明一下:
1. 也可以继承AlertDialog,效果一样。
2. 虽然我们在onCreate()方法里已经加载了自己的layout,但并不妨碍调用基类的方法,设置title、content,效果和直接用基类ProgressDialog一样,无视自定义。
easy?本文只是提供一个最简单实现,相信已经能满足大部分的需求了,更深入的东西自己摸索去吧。
- Android透明无边框圆形进度条之最简单实现
- Android透明无边框圆形进度条之最简单实现
- Android透明无边框圆形进度条之最简单实现
- Android透明无边框圆形进度条之最简单实现
- iOS开发之简单实现圆形进度条
- android 圆形进度条的简单实现
- Android 简单实现圆形ImageView添加双层圆形边框
- Android实现圆形进度条
- android 实现圆形进度条
- Android透明圆形进度条对话框的设置
- Android学习之路------自定义控件,圆形进度条的简单实现
- android圆形有边框无背景色
- android:圆形进度条的实现
- Flex3:无边框透明背景MenuBar实现
- Android自定义之圆形进度条
- Android之自定义圆形进度条
- Android控件之圆形进度条
- Android Dialog背景全透明无边框
- nginx
- 优化SQL查询:如何写出高性能SQL语句
- 星号图(5)
- 项目发布
- Documentation-usb-dwc3.txt
- Android透明无边框圆形进度条之最简单实现
- 页面定时跳转(倒计时跳转)代码总结
- C语言基础
- Documentation-usb-acm.txt
- 深入分析C++引用
- 彻底解决:Keil编译提示“File has been changed outside the editor, reload?”提示!
- 在chrome下html5+sqlite
- Linux Joystick driver v2.0.0
- 基于云计算的电子政务网站群整合模式为政府创造新的价值