动态修改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 ...
随机推荐
- CodeIgniter + smarty 实现widget功能
在开发过程中,经常需要widget功能,一可以隔离页面逻辑,二可以重用代码.结合smarty的plugin功能,可以方便的实现该功能. 譬如,我们的页面中可以这样写: {{extends file=' ...
- 记我安装Caffe的血泪史(1)
Caffe的安装我主要参考的是这篇博客 http://blog.csdn.net/ubunfans/article/details/47724341 按照他的方法我很快就安好了cuda8(为后面安装了 ...
- WebLogic安装使用及常见问题
WebLogic的下载与安装 下载地址: http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html fmw_ ...
- B站真的是一个神奇的地方,初次用Python爬取弹幕。
"网上冲浪""886""GG""沙发"--如果你用过这些,那你可能是7080后: "杯具"" ...
- 【转】VGG网络结构及参数
VGG网络 VGG16输入224*224*3的图片,经过的卷积核大小为3x3x3,stride=1,padding=1,pooling为采用2x2的max pooling方式: 1.输入224x2 ...
- C语言基础 (8) 常用字符串处理函数
复习 如何调用库函数(别人写好的函数) 1) 头文件:包含指定的头文件,头文件主要包含此函数的声明 2) 函数名字:函数名字必须和头文件声明的名字一样 字符串常用处理函数: 1 ...
- 把SQLAlchemy查询对象转换成字典/json使用(汇总)
1.使用SQLAlchemy from sqlalchemy import create_engine,Column,String,Integerfrom sqlalchemy.ext.declara ...
- 配置mysql允许远程访问
1.进入 mysql: /usr/local/mysql/bin/mysql -u root -p 2.使用 mysql库 : use mysql; 3.查看用户表 : SELECT `Host`,` ...
- Centos上Mysql5.6的安装
安装步骤: (1)查看Centos是否自带mysql :rpm -qa | grep mysql (2)将原有卸载 rpm -e --nodeps mysql-libs-5.1.73-5.el ...
- ubuntu系统自动配置开机启动脚本
以前一直搞的centos配置开机启动脚本,但是相同方法用在ubuntu系统上就不管用了,非常伤脑筋. 非常感谢 https://www.linuxidc.com/Linux/2017-09/1471 ...