自定义圆形progressbar

原创 2015年07月07日 14:15:22

progressbar在项目中是最常见的,通常我们一个项目中选取一种风格的progressbar就可以了。

效果很简单:

有点low哦!!

关键点:

  • 主题样式
  • 用一个方法来管理

一、主题样式

<!-- 自定义loading dialog -->
    <style name="loading_dialog" parent="Theme.AppCompat.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:backgroundDimEnabled">true</item><!--设置背景黑-->
    </style>

二、布局样式

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/transparent"
    android:gravity="center_vertical|center" >

    <ProgressBar
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="25dip"
        android:layout_height="30dip"
        android:indeterminateDrawable="@anim/round_progress_bar" />

</LinearLayout>

三、旋转的动画
res文件下新建anm文件夹,然后新建round_progress_bar动画。

<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/loading"
    android:fromDegrees="0.0"
    android:pivotX="50.0%"
    android:pivotY="50.0%"
    android:toDegrees="360.0" />

四、用一个方法类管理,方便Activity中展示

/**
     * 得到自定义的progressDialog
     * @param context
     * @return
     */
    public static Dialog createLoadingDialog(Context context){
        LayoutInflater inflater=LayoutInflater.from(context);
        View v=inflater.inflate(R.layout.layout_loading_dialog, null);//得到加载的view
        LinearLayout layout= (LinearLayout) v.findViewById(R.id.dialog_view);
        Dialog loadingDialog=new Dialog(context,R.style.loading_dialog);
        loadingDialog.setCancelable(false);
        loadingDialog.setContentView(layout,new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));

        return loadingDialog;
    }

ok,效果简单,实现起来也挺清晰!

版权声明:欢迎大家留言讨论

Android简单自定义圆形和水平ProgressBar的样式

1、ProgressBar分为两种,我们能明确看到进度,不确定的就是不清楚、不确定一个操作需要多长时间来完成,这个时候就需要用的不确定的ProgressBar了。属性android:indetermi...
  • liao277218962
  • liao277218962
  • 2015年10月14日 14:44
  • 2612

自定义圆形progressbar颜色

先在drawable中创建一个xml文件,这里命名为circle_progressbar_style.xml  
  • jiasudu1
  • jiasudu1
  • 2012年03月08日 10:00
  • 3712

自定义带动画效果的圆形ProgressBar

自定义尾部有标识的圆形ProgressBar,使用属性动画实现动画效果
  • liubaill
  • liubaill
  • 2016年07月08日 17:44
  • 915

android开发之自定义圆形进度条(RoundProgressBar)

懒惰,只是为了更好的懒惰!
  • zz1175854992
  • zz1175854992
  • 2015年03月01日 18:18
  • 1708

自定义圆形ProgressBar背景的三种方法

1.通过动画实现 anim文件夹下:custom_progress.xml
  • sp1336542268
  • sp1336542268
  • 2015年02月08日 10:49
  • 1143

Android 自定义圆形progressbar

再来一个圆形进度条的样式。效果如下:关键点: 自定义布局,可以实现自己想要的任何需求 方法类管理 其实里面的圆图并不是progressbar,是一个imageview,然后给他加了动画 一、布局 ...
  • u014733374
  • u014733374
  • 2015年07月07日 15:56
  • 829

自定义ProgressBar(包括自定义图片,带进度的圆形进度条、长方形进度条)

ProgressBar简介 继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar,其中AbsSeekBar的子类有SeekBar和RatingB...
  • gdutxiaoxu
  • gdutxiaoxu
  • 2016年05月31日 15:20
  • 3868

Android自定义控件_渐变色圆形progressbar

产品跟圆杠上了系列,比较简单的控件,记录下方便下次直接取。主要用到sahder,神奇的渐变色 /**shader绘制渐变色的弧度*/ LinearGradient shader =...
  • qq_15311755
  • qq_15311755
  • 2017年09月22日 15:00
  • 474

自定义圆形progressbar(包含进度动画效果)

效果图敬上:)attrs文件: < resources> < declare-styleable name=”CircleProgressBarStyle”> ...
  • qq_29124297
  • qq_29124297
  • 2017年09月07日 12:03
  • 231

Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

NumberCircleProgressBar是一个基于Android的自定义圆形进度条,提供两种模式(rotate模式和rising_water模式),使用者可以自行定义文字颜色、文字大小、已完成进...
  • cjllife
  • cjllife
  • 2014年09月06日 17:32
  • 3859
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义圆形progressbar
举报原因:
原因补充:

(最多只允许输入30个字)