Android反向进度条(ProgressBar)——从右到左的进度条

前言: 最近在项目中需要使用到反向进度条,在网上查了些资料,感觉对自己作用不大,于是自定义样式,实现了反向进度条。

1. 第一步

首先,在布局文件中加入进度条控件——ProgressBar。默认的进度条是环形的,需要改为水平方向。

<ProgressBarandroid:id="@+id/myprogress1"android:layout_marginRight="20dp"android:layout_centerVertical="true"android:max="100"android:progress="20"style="@style/StyleProgressBarMini"android:layout_width="match_parent"android:layout_height="wrap_content"/>

其中 style=”@style/StyleProgressBarMini” 是自定义的样式。

2. 第二步
在res/values下新建xml文件style_ProgressBarMini.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources><style name="StyleProgressBarMini"parent="@android:style/Widget.ProgressBar.Horizontal"><item name="android:maxHeight">50dip</item><item name="android:minHeight">10dip</item><item name="android:progressDrawable">@drawable/my_progressbar</item></style>
</resources>

3. 第三步

在res/drawable目录下新建文件my_progressbar.xml,定义进度条的样式。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape><corners android:radius="5dp"/></shape><color android:color="#CCCCCC"/></item><item android:id="@android:id/progress"><clip
            android:clipOrientation="horizontal"android:gravity="right"><shape><corners android:radius="5dp"/><gradient
                    android:startColor="#F00"android:centerColor="#FF0"android:endColor="#0F0"/></shape></clip></item>
</layer-list>

android:clipOrientation=”horizontal”
android:gravity=”right” 设置进度条水平方向,从右到左显示。

4. 第四步

这时候就可以在项目中使用自定义的进度条样式了。

<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/androiandroid:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><ProgressBar
           android:id="@+id/myprogress2"android:layout_marginRight="20dp"android:layout_centerVertical="true"android:max="100"android:progress="20"style="@style/StyleProgressBarMini"android:layout_width="match_parent"android:layout_height="wrap_content"/><ProgressBar
           android:id="@+id/myprogress2"android:layout_marginRight="20dp"android:layout_centerVertical="true"android:max="100"android:progress="70"style="@style/StyleProgressBarMini"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout>

总结: 就这样我们实现了反向进度条,随着进度的改变,进度条的颜色也会出现渐变,有绿色逐渐变为黄色,最后变成红色。

Android反向进度条(ProgressBar)的实现——从右到左的进度条相关推荐

  1. 精通Android自定义View(十四)绘制水平向右加载的进度条

    1引言 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制三部曲综合 ...

  2. C# WinForm ProgressBar垂直显示进度和从右向左显示进度

    1. 尝试将ProgressBar的RightToLeft属性设置为System.Windows.Forms.RightToLeft.Yes,同时将RightToLeftLayout属性设置为true ...

  3. android tablerow 间隔,android-如何使TableRow从右到左

    如何从右到左向TableRow添加视图?默认模式为从左到右.我在TableLayout和TableRow中都尝试了android:gravity =" right"和android ...

  4. Android ProgressBar 反向进度条/进度条从右到左走

    近期的项目,有个需求须要使用条状图显示比例,而且右对齐,见下图: 我想到了使用进度条,这样不就不须要在代码动态绘制条状了,省了非常多活. 那么进度条如何从右向左显示呢? 方案一: 将ProgressB ...

  5. android 反向进度条,Android ProgressBar 反向进度条/进度条从右到左走

    最近的项目,有个需求需要使用条状图显示比例,并且右对齐,见下图: 我想到了使用进度条,这样不就不需要在代码动态绘制条状了,省了很多活. 那么进度条怎样从右向左显示呢? 方案一: 将ProgressBa ...

  6. 【鸿蒙 HarmonyOS】UI 组件 ( 进度条 ProgressBar 和 RoundProgressBar 组件 )

    文章目录 一.布局中设置 ProgressBar.RoundProgressBar 进度条 二.代码中设置 ProgressBar.RoundProgressBar 进度条 三.完整代码示例 四.Gi ...

  7. android进度条课设报告,Android开发之进度条ProgressBar的示例代码

    说明 ProgressBar一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等. 默认形式ProgressBar 默认方式下,ProgressBar显示为圆形进度,循环转圈,不显示具 ...

  8. Android中ProgressBar的使用-通过Handler与Message实现进度条显示

    场景 进度条效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为 ...

  9. Android进度条函数,Android实用笔记——使用ProgressBar实现进度条

    1.ProgressBar的分类 可以精确显示进度(可以显示刻度或者精确百分比) 不可以精确显示精度(一直转,类似于一个过场动画) 2.关键属性和方法 指定ProgressBar显示风格 style= ...

最新文章

  1. python是一种面向对象、直译式的脚本编程语言_什么是python编程语言
  2. zuul框架设计与实现
  3. MySQL的又一神器-锁,MySQL面试必备
  4. BZOJ 1084: [SCOI2005]最大子矩阵【DP】
  5. java 怎么快速找到实现类_JAVA懒开发:FreeMarker快速实现类的增删改查接口
  6. boost::multiprecision模块mpfr相关的测试程序
  7. D - Yet Another Problem On a Subsequence CodeForces - 1000D (DP,组合数学)
  8. Java将mysql输出csv_使用Java将大量数据从数据库导出到.csv时出...
  9. ubuntu运行python ide_打造vim中的python IDE
  10. 可恶,谁占用了我的80端口?
  11. 装修要找大品牌还是游击队,还是包工头?
  12. 拖拽之路(二):自定义QListWidget实现美观的拖拽样式(拖拽不影响选中)
  13. [转载] 比较器(Comparable和Comparator)、自然排序、定制排序
  14. 联想主板9针开关接线图_干货丨34个电气控制接线图、电子元件工作原理图
  15. substring用法,between...and用法 trim标签的用法 模糊查询
  16. mysql升级 windows10_Windows10系统MySQL5.7升级到8.0
  17. 南京信息工程大学改立元宇宙工程系,网友:我很好奇课程是啥
  18. kso经验记录 --- c# 之MD5加密算法
  19. CWnd::SetCapture, ReleaseCapture, GetCapture
  20. 【Kaggle】Titanic - Machine Learning from Disaster(二)

热门文章

  1. 【解决方案】国标GB28181协议视频智能分析平台打造智慧企业AR云景解决方案
  2. 174.123.15.31 index.php,腾讯内容开放平台
  3. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址
  4. BUUCTF:镜子里面的世界
  5. InputStream read()方法详解
  6. 统信UOS+win7双系统安装
  7. ECSHOP goods表字段分析
  8. 招聘 | 胡传鹏博士课题组招硕士、博士
  9. window下使用C++ Bonjour配置服务
  10. 从零开始学数据结构和算法:mysql环境变量的配置win10