我有两个问题:1)我如何改变颜色的搜索条(路径)从黄色(默认颜色)到白色.我的意思是说,当我滑动拇指,它把线遍历从灰色到黄色.我想轨道/线要么保持灰色或白色..基本上我想只是拇指移动没有颜色变化的搜索条.2)如何将seekbar的thumb从矩形更改为圆形/球体/圆形。任何指示器都是可以理解的。
uxh89sit1#
我想为不熟悉系统的人完成上面的答案,丢失的xmls(background_fill、progress_fill和progress)可以看起来像用于渐变红色的xmls
<?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:drawable="@drawable/background_fill" /> <item android:id="@android:id/progress"> <clip android:drawable="@drawable/progress_fill" /> </item> </layer-list>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#FF555555" android:centerColor="#FF555555" android:endColor="#FF555555" android:angle="90" /> <corners android:radius="5px" /> <stroke android:width="2dp" android:color="#50999999" /> <stroke android:width="1dp" android:color="#70555555" /> </shape>
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#FF470000" android:centerColor="#FFB80000" android:endColor="#FFFF4400" android:angle="180" /> <corners android:radius="5px" /> <stroke android:width="2dp" android:color="#50999999" /> <stroke android:width="1dp" android:color="#70555555" /> </shape>
我没有完成android的实现:thumb,所以thumb仍然是原来的那个因此,我们只需从定义seekbar的布局xml中再次删除这一行
android:thumb="@drawable/thumb"
z9gpfhce2#
您应该设置SeekBar XML属性:
<SeekBar .... android:progressDrawable="@drawable/progress" android:thumb="@drawable/thumb" .... />
进步是这样的:
拇指是
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/thumb_fill" /> </selector>
50few1ms3#
由于SeekBar默认使用colorAccent,您可以使用自定义颜色colorAccent创建一个新样式,然后使用theme属性将其应用到SeekBar。
SeekBar
colorAccent
theme
<SeekBar> . . android:theme="@style/MySeekBarTheme" . </SeekBar>
在@样式:
<style name="MySeekBarTheme" parent="Widget.AppCompat.SeekBar" > <item name="colorAccent">#ffff00</item> </style>
sdnqo3pr4#
seekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN); seekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
tyky79it5#
您可以只添加API级别21的色调。将这些属性添加到seekbar元素:
**安卓系统:进度颜色="@安卓系统:颜色/白色”**安卓系统:拇指颜色="@安卓系统:颜色/白色”
最终结果:
<SeekBar android:id="@+id/is" android:layout_width="match_parent" android:max="100" android:progressTint="@android:color/white" android:thumbTint="@android:color/white"/>
7cwmlq896#
**1.创建可绘制的XML:*命名: 进度_可绘制 *
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" android:color="#fff"/> </shape>
2.将其分配给搜索栏
<SeekBar android:id="@+id/slider_1" android:progressDrawable="@drawable/progress_drawable" android:layout_width="180dp" android:layout_height="32dp" android:layout_gravity="center" android:rotation="270" />
vnzz0bqm7#
只需更改样式的强调色
<style name="TickMarkSeekBar" parent="Theme.KefTheme"> <item name="tickMark">@drawable/tickmark</item> <item name="thumbTint">@android:color/white</item> <item name="colorAccent">@android:color/white</item> </style>
7条答案
按热度按时间uxh89sit1#
我想为不熟悉系统的人完成上面的答案,
丢失的xmls(background_fill、progress_fill和progress)可以看起来像用于渐变红色的xmls
进度. xml
背景填充. xml
进度填充. xml
我没有完成android的实现:thumb,所以thumb仍然是原来的那个
因此,我们只需从定义seekbar的布局xml中再次删除这一行
z9gpfhce2#
您应该设置SeekBar XML属性:
进步是这样的:
拇指是
50few1ms3#
由于
SeekBar
默认使用colorAccent
,您可以使用自定义颜色colorAccent
创建一个新样式,然后使用theme
属性将其应用到SeekBar。在@样式:
sdnqo3pr4#
tyky79it5#
您可以只添加API级别21的色调。
将这些属性添加到seekbar元素:
**安卓系统:进度颜色="@安卓系统:颜色/白色”**安卓系统:拇指颜色="@安卓系统:颜色/白色”
最终结果:
7cwmlq896#
**1.创建可绘制的XML:*命名: 进度_可绘制 *
2.将其分配给搜索栏
vnzz0bqm7#
只需更改样式的强调色