博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
兼容ProgressBar圆形设置颜色
阅读量:4256 次
发布时间:2019-05-26

本文共 582 字,大约阅读时间需要 1 分钟。

ProgressBar一般利用style默认的颜色,如果为了统一app风格,需要对progressbar颜色进行修改,涉及到高版本低版本兼容问题。(圆形,非横向进度,改进方案来源于同事)

api21以上的api 可以直接设置颜色

通过属性android:indeterminateTint="@color/colorPrimary" 并设置模式 android:indeterminateTintMode=“src_atop”

网上关于低版本的方案

低版本(19对应android 4.4是很多应用需要适配的版本)

低版本没有android:indeterminateTint和android:indeterminateTintMode两个属性,网络上很多获取indeterminateDrawable,然后设置颜色过滤(高版本内部实现方式),但都比较复杂。可以设置indeterminateDrawable,设置的drawable需要是一个自带旋转的drawable。

例如:(为了实现缺口效果,利用了渐变)

//progressbar中设置android:indeterminateDrawable="@drawable/progressbar_rotate_drawable" />

在这里插入图片描述

转载地址:http://eppei.baihongyu.com/

你可能感兴趣的文章
【Ubuntu】ping: unknown host www.baidu.com
查看>>
【Qt】qss样式表之:QCalendarWidget,日历窗口样式表设置
查看>>
【Qt】qss样式表之:自定义属性实现动态切换样式
查看>>
【GStreamer】基本概念及安装
查看>>
【GStreamer】gstreamer工具详解之:gst-launch-1.0
查看>>
【GStreamer】gstreamer工具详解之:gst-inspect-1.0
查看>>
【GStreamer】gstreamer工具详解之:ges-launch-1.0
查看>>
【GStreamer】gstreamer工具详解之:gst-discoverer-1.0
查看>>
【Ubuntu】安装中文输入法
查看>>
【Cmake】执行cmake命令时报错:No XSLT processor found
查看>>
【数据库】sqlite中PRAGMA命令说明
查看>>
【Qt】Qt容器总结
查看>>
【C++】C++11 STL算法(一):非修改序列操作(Non-modifying sequence operations)
查看>>
【C++】C++11 STL算法(二):修改序列的操作(Modifying sequence operations)
查看>>
【C++】C++11 STL算法(三):分隔操作(Partitioning operations)、排序操作(Sorting operations)
查看>>
【C++】C++11 STL算法(四):二分查找法(Binary search operations)、合并操作
查看>>
【C++】C++11 STL算法(五):设置操作(Set operations)、堆操作(Heap operations)
查看>>
【C++】C++11 STL算法(六):最小/最大操作(Minimum/maximum operations)、比较运算(Comparison operations)
查看>>
【C++】C++11 STL算法(七):排列操作(Permutation operations)、数值操作(Numeric operations)
查看>>
【C++】C++11 STL算法(八):对未初始化内存的操作(Operations on uninitialized memory)、C库(C library)
查看>>