• Android透明无边框圆形进度条之最简单实现


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

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

            怎么办?

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

            先上layout xml:

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
    3 &nbsp;&nbsp; &nbsp;android:layout_width="wrap_content"
    4 &nbsp;&nbsp; &nbsp;android:layout_height="wrap_content"
    5 &nbsp;&nbsp;&nbsp; android:interpolator="@android:anim/linear_interpolator" />

    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     @Override
    12     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?本文只是提供一个最简单实现,相信已经能满足大部分的需求了,更深入的东西自己摸索去吧。

  • 相关阅读:
    ZOJ 3954 Seven-Segment Display
    ZOJ 3955 Saddle Point
    ZOJ 3950 How Many Nines
    ZOJ 3957 Knuth-Morris-Pratt Algorithm
    PAT L2-018. 多项式A除以B
    hihocoder 1500 EL SUENO
    hihocoder 1498 Diligent Robots
    hihocoder 1497 Queen Attack
    hihocoder 1490 Tree Restoration
    SCU 4443 Range Query
  • 原文地址:https://www.cnblogs.com/ggzjj/p/2857618.html
Copyright © 2020-2023  润新知