动态修改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 ...
随机推荐
- Xcode8 NSLog打印json不完整的解决方案
解决方案:自定义宏,通过fprintf函数打印log,完美解决! #ifdef DEBUG #define NSLog(FORMAT, ...) fprintf(stderr, "%s:%z ...
- (转)微服务架构 互联网保险O2O平台微服务架构设计
http://www.cnblogs.com/Leo_wl/p/5049722.html 微服务架构 互联网保险O2O平台微服务架构设计 关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也 ...
- Python中的多个装饰器装饰一个函数
def wrapper1(func1): def inner1(): print('w1 ,before') func1() print('w1 after') return inner1 def w ...
- vc++如何创建程序-设置断点-函数的覆盖,c++的多态性
---恢复内容开始--- 如何设置断点小笔记 将光标移动到你想设置断点的地方,按一下F9键即可,或者你可以用鼠标左键点击小手图标. CommentOut多行注释 函数的覆盖是在父类与子类之间的,函数的 ...
- Ikki's Story IV - Panda's Trick POJ - 3207_dfs跑2-SAT
Code: #include<cstdio> #include<algorithm> #include<vector> using namespace std; c ...
- git入坑随笔
一直以来,都喜欢用git做版本管理,主要涉及平台是coding, github以及公司自己搭建的gitlab. 因为一直以来都是自己一个人维护前端的项目,所以基本上很少有冲突的情况.(手动微笑 :) ...
- vue 截取视频第一帧
最近自己写项目,在项目中涉及功能点又截取视频帧的点:需求澄清:移动端封面展示,平台上传图片(多张上传)取第一张上传图片为封面图:如上传视频则截取视频第一帧作为封面图: 实现思路:h5 video标签 ...
- django rest-farme-work 的使用(2)
serialization (序列化) 本测试项目例子地址为: tomchristie/rest-framework-tutorial 开始构建一个新的程序 创建一个新的环境 virtualenv e ...
- Python JSON - 世界人口图
世界人口图 从https://datahub.io/网站搜索population,下载世界人口json数据. from pygal.maps.world import COUNTRIES def ge ...
- 【codeforces 803E】Roma and Poker
[题目链接]:http://codeforces.com/contest/803/problem/E [题意] 给你一个不完整的胜负平序列(不完整是指中间有些地方为问号,让你自己选择胜负平) 让你复原 ...