首先定义一个ProgressBar:

    <ProgressBarandroid:id="@+id/progressBar"style="?android:attr/progressBarStyleHorizontal"android:layout_width="300dp"android:layout_height="wrap_content"android:indeterminate="false"android:progress="30"android:progressDrawable="@drawable/round_progress"app:layout_constraintBottom_toBottomOf="@+id/name"app:layout_constraintEnd_toEndOf="parent"android:layout_marginRight="110dp"app:layout_constraintTop_toTopOf="@+id/name" />

设置style 是横向的,然后设置progressDrawable 为 round_progress.

round_progress.xml 里面如下


情况一:

如果进度左边是圆形,中间是矩形,如下图:

使用下面的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"><shapeandroid:shape="rectangle" android:padding = "5dp"><solid android:color="#FFE8E8E8"/><stroke android:color="#FFE8E8E8" android:width="1dp" /><cornersandroid:radius="10dp" /></shape></item><item android:id="@android:id/secondaryProgress"><clip><shapeandroid:shape="rectangle" android:padding = "5dp"><solid android:color="#FFFF0000"/><cornersandroid:radius="10dp"
/></shape></clip></item><item android:id="@android:id/progress"><clip><shapeandroid:shape="rectangle" android:padding = "5dp"><solid android:color="#FFFF0000"/><cornersandroid:radius="10dp"
/></shape></clip></item></layer-list>

情况二:

如果进度两端都是圆形,如下图


使用下面的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"><shapeandroid:shape="rectangle" android:padding = "5dp"><solid android:color="#FFE8E8E8"/><stroke android:color="#FFE8E8E8" android:width="1dp" /><cornersandroid:radius="10dp" /></shape></item><item android:id="@android:id/secondaryProgress"><scale android:scaleWidth="100%"><shapeandroid:shape="rectangle" android:padding = "5dp"><solid android:color="#FFFF0000"/><cornersandroid:radius="10dp"
/></shape></scale></item><item android:id="@android:id/progress"><scale android:scaleWidth="100%"><shapeandroid:shape="rectangle" android:padding = "5dp"><solid android:color="#FFFF0000"/><cornersandroid:radius="10dp"/></shape></scale></item></layer-list>

TODO

layer-list、shape、scale、clip 的使用,真的不太熟悉。

Android 圆角矩形ProgressBar相关推荐

  1. android 画圆角背景颜色,android圆角矩形有背景颜色

    android圆角矩形,渐变颜色,自定义 首先,在drawable目录下写一个xml,名字随便起(只要符合规范),代码如下: android:shape="rectangle" & ...

  2. android圆角矩形编辑框,AndroidUi(2)-圆角矩形

    一.圆角矩形 Paste_Image.png android:shape="rectangle"> 二.镂空描边矩形 Paste_Image.png android:shap ...

  3. Android圆角矩形

    1.在drawable中创建shape_round文件 <?xml version="1.0" encoding="utf-8"?> <sha ...

  4. android圆角矩形图片的实现进而讨论view自定义的要点

    实现圆角的图片一般会有两种方法,一种是使用Xfermode,一种是Shader Shaderde 实现可以看这里:http://blog.csdn.net/lmj623565791/article/d ...

  5. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单

    本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置. 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这 ...

  6. android paint 圆角 绘制_[BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  7. Android之圆角矩形

    安卓圆角矩形的定义 在drawable文件夹下,定义corner.xml <?xml version="1.0" encoding="utf-8"?> ...

  8. android xml图片圆角矩形,使用Path自定义圆角图片

    简单实现圆角图片CircleView 效果: CircleImageView代码: public class CircleImageView extends AppCompatImageView { ...

  9. 在Android中绘制圆角矩形图片

    圆角矩形图片在苹果的产品中很流行,相比于普通的矩形,很多人都喜欢圆角矩形的图片,下面在Android中实现将普通的矩形图片绘制成圆角矩形.        先来看一下普通矩形图片的显示,代码很简单,从r ...

最新文章

  1. 黑马程序员之List--队列、栈...
  2. SmartCode Release 4
  3. stm32中断向量控制器
  4. 游客显示的html代码,html5游客总数柱状图代码
  5. Spring Boot&Angular 5&Spring Data&Rest示例(CRUD)
  6. CSS 小结笔记之em
  7. python课设答辩问题及答案_HTML5网站前端开发设计答辩问题及答案
  8. 从理论到工程实践——用户画像入门宝典
  9. Linux命令之find命令
  10. 如何在Arduino上使用OV7670摄像头模块
  11. 图书馆管理系统UML各种图
  12. 【摘录】Thinkpad T410i-2516A21 安装Ubuntu10.0.4记录
  13. 【React】利用Dooringx快速制作H5搭建平台
  14. 二倍图三倍图什么意思_iOS开发中的二倍图、三倍图
  15. Wise Force Deleter强制删除工具
  16. QQ头像变灰算法[图]
  17. 大小限制_微信突破九张照片,视频大小限制
  18. 【推导】线性变换的矩阵表达式
  19. 已解决:‘ascii‘ codec can‘t encode characters in position 18-20: ordinal not in range(128)
  20. 【C语言|菜鸟教程】100道进阶经典例题详细解答(实例二)

热门文章

  1. 有哪些专业学python_学习python有哪些好书和学习方法?
  2. asm冗余 oracle_oracle asm 磁盘管理什么场景该用什么样的冗余方式
  3. 11、计算机图形学——几何(贝塞尔曲线与曲面)
  4. set_origin_pose算子说明
  5. C# Task 循环任务_理解C#中的ValueTask
  6. 数字断路器获得商用认证
  7. js:如何在循环异步请求的每次返回中添加想要的值
  8. js之操作JSON数据
  9. Ubuntu 14.04环境变量修改
  10. windows下卸载oracle11g