动态修改SeekBar的颜色
方法一
1. 需求:需要改变其默认颜色,样式
2.滑竿样式
seekbar.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" android:height="5dp">
<shape>
<corners android:radius="5dp"/>
<solid android:color="#C9C7C7"/> <!-- 颜色-->
</shape>
</item> <item android:id="@android:id/secondaryProgress" android:height="5dp">
<clip>
<shape>
<corners android:radius="5dp"/>
<solid android:color="#C9C7C7"/> <!-- 颜色-->
</shape>
</clip>
</item> <item android:id="@android:id/progress" android:height="5dp">
<clip>
<shape>
<corners android:radius="5dp"/>
<solid android:color="@color/colorPrimary"/> <!-- 颜色-->
</shape>
</clip>
</item>
</layer-list>
3. 滑块样式
select_seekbar.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 按下状态-->
<item android:state_pressed="true" android:drawable="@drawable/shape1"/> <!-- 有焦点状态 -->
<item android:state_focused="true" android:drawable="@drawable/shape"/> <!-- 普通状态 -->
<item android:drawable="@drawable/shape" />
</selector>
shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid android:color="@color/colorPrimary"></solid> <!-- 颜色-->
<size
android:width="12dp"
android:height="12dp"></size>
</shape>
shap1.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solid android:color="@color/colorAccent"></solid> <!-- 颜色-->
<size
android:width="14dp"
android:height="14dp"></size>
</shape>
4.布局引用
<SeekBar
android:id="@+id/seekbar"
android:layout_width="368dp"
android:maxHeight="6dip"
android:minHeight="6dip"
android:layout_height="40dp"
android:max="100"
android:progressDrawable="@drawable/seekbar"
android:thumb="@drawable/select_seekbar"
android:progress="30" /> <!--maxHeight
minHeight可以控制滑竿粗线-- >
方法二
5.不利用xml,直接修改
public void setSeekBarColor(SeekBar seekBar, int color){
LayerDrawable layerDrawable = (LayerDrawable)
seekBar.getProgressDrawable();
Drawable dra=layerDrawable.getDrawable();
dra.setColorFilter(color, PorterDuff.Mode.SRC);
Drawable dra2=seekBar.getThumb();
seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
seekBar.invalidate();
}
6.效果图


二 实现seekbar颜色渐变
1. 效果

<SeekBar
android:id="@+id/vSeekBarECHO"
android:layout_width="@dimen/dp_160"
android:layout_height="wrap_content"
android:maxHeight="@dimen/dp_13"
android:minHeight="@dimen/dp_13"
android:translationX="@dimen/dp_m_51"
android:rotation="270"
android:translationY="@dimen/dp_70"
android:paddingStart="0dp"
android:saveEnabled="false"
android:progressDrawable="@drawable/seekbar_progress_color"
android:splitTrack="false"
android:thumb="@drawable/icon_seek_block_25"
android:thumbOffset="0dp" />
seekbar_progress_color.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>
<stroke android:width="@dimen/dp_1" android:color="#E5E5E5"/>
<corners android:radius="@dimen/dp_5" />
<!-- android:endColor="#FBFBFB"
android:centerColor="#9E9D9D"
android:startColor="#626060"-->
<solid android:color="#FAFAFA"/> <gradient
android:angle="0"
android:endColor="#FBFBFB"
android:centerColor="#FBFBFB"
android:startColor="#FBFBFB" /> </shape>
</item> <!-- 第二进度条的背景色 -->
<item android:id="@android:id/secondaryProgress">
<clip>
<shape android:shape="rectangle">
<solid android:color="@color/colorSingerName" />
</shape>
</clip>
</item> <!-- <item android:id="@+android:id/background" android:drawable="@drawable/bar_dn" /> -->
<!-- 可拖动的进度条颜色 -->
<item android:id="@android:id/progress">
<clip>
<shape>
<stroke android:width="@dimen/dp_1" android:color="#E5E5E5"/>
<corners android:radius="@dimen/dp_5" />
<gradient
android:angle="0"
android:centerColor="@color/colorSeekBarPro50"
android:endColor="@color/colorSeekBarPro100"
android:startColor="@color/colorSeekBarPro0" />
</shape>
</clip>
</item> </layer-list>
icon_seek_block_25

动态修改SeekBar的颜色的更多相关文章
- 动态修改svg的颜色,svg做背景色时候修改颜色
svg修改背景色可以使用fill属性来修改,但是我现在需要动态改变svg的颜色,例如我hover的时候 现在发现一种兼容性还不错的方法是css属性mask 类似于给路径填充上颜色,结合backgrou ...
- iOS 动态修改导航栏颜色 UINavigationBar
示例 所谓动态修改 意思是 在当前页面滚动的过程中 亦或 是在 触发返回事件\进入一个新的页面 导航栏的动态变化 由于系统级别的navBar 高度集成 很多自己想实现的功能 很不好弄 如果是通过 ...
- uniapp-uni.setNavigationBarColor 动态修改顶部背景颜色
uni.setNavigationBarColor({ frontColor: '#ffffff', backgroundColor: "#3583ff" })
- 【VS开发】VS2010 MFC中控件、对话框等背景颜色动态修改的方法
[VS开发]VS2010 MFC中控件.对话框等背景颜色动态修改的方法 标签(空格分隔):[VS开发] 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明: ...
- ReactNative 根据scrollView/listview滑动距离动态修改NavBar颜色
我们常见某些APP上滑的时候,NavBar颜色会从透明渐变为某种颜色 原理非常简单,根据scrollView的回调动态修改NavBar的透明度即可. 在RN中,尤其是ListView中这个回调不是很好 ...
- Unity3D代码动态修改材质球的颜色
代码动态修改材质球的颜色: gameObject.GetComponent<Renderer>().material.color=Color.red;//当材质球的Shader为标准时,可 ...
- echarts系列之动态修改柱状图颜色
echarts根据某一变量动态修改柱状图颜色 1.option中参数配置项series { "name":"Android", "type" ...
- Android动态修改图片颜色的实现方式分析
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.修改色相.饱和度.亮度 参看:http://blog.csdn.NET/sjf0115/article/details/7267063 2.使 ...
- 动态修改UINavigationBar的背景色
这是我们最终想要得到的效果: 思路 在UISrollView的delegate方法 1 - (void)scrollViewDidScroll:(UIScrollView *)scrollView ...
随机推荐
- redis的跳跃表
跳跃表是一种插入.查询.删除的平均时间复杂度为O(nlogn)的数据结构,在最差情况下是O(n),当然这几乎很难出现. 和红黑树相比较 最差时间复杂度要差很多,红黑树是O(nlogn),而跳跃表是O( ...
- 杭电 2035 人见人爱A^B【快速幂取模】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035 解题思路:这一题数据不大,可以用同余来做,也可以用快速幂来做 反思:定义成 #include&l ...
- SpringMVC(二)@RequestMapping
学习@RequestMapping注解,参考Spring API 1.@RequestMapping可以修饰在类类型和方法上 ①.修饰在类定义上: 提供初步的URL映射,相对于web应用 ...
- BZOJ 3456: 城市规划 多项式求逆
Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接 ...
- Vue学习之路第十二篇:为页面元素设置内联样式
1.有了上一篇的基础,接下来理解内联样式的设置会更简单一点,先看正常的css内联样式: <dvi id="app"> <p style="font-si ...
- 计蒜客 时间复杂度 (模拟) & 洛谷 P3952 时间复杂度
链接 : Here! 思路 : 这是一道大模拟, 区分好情况就没问题了 循环构成部分 : $F , x , i , j$ 和 $E$ , 需要注意的是 $i , j$, - 分析 $i, j$ 的情况 ...
- Project Euler 42 Coded triangle numbers
题意:三角形数序列的第n项由公式tn = 1/2n(n+1)给出:因此前十个三角形数是: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, - 将一个单词的每个字母分别转化为其 ...
- UVA10340 - All in All(紫书习题3.9)
输入两个字符串s和t,判断是否可以从t中删除0个或者多个字符(其他字符顺序不变),得到字符串s.例如,abcde可以得到bce,但无法得到cb. Input 输入多组数据 每组一行包含两个字符串s和t ...
- TFRecords转化和读取
标准TensorFlow格式 TensorFlow的训练过程其实就是大量的数据在网络中不断流动的过程,而数据的来源在官方文档[^1](API r1.2)中介绍了三种方式,分别是: Feeding.通过 ...
- mysql修改配置文件
在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接影响到论坛的速度和承载量!同 ...