android 搜索栏,将路径颜色从黄色更改为白色

idv4meu8  于 2022-12-28  发布在  Android
关注(0)|答案(7)|浏览(148)

我有两个问题:
1)我如何改变颜色的搜索条(路径)从黄色(默认颜色)到白色.我的意思是说,当我滑动拇指,它把线遍历从灰色到黄色.我想轨道/线要么保持灰色或白色..基本上我想只是拇指移动没有颜色变化的搜索条.
2)如何将seekbar的thumb从矩形更改为圆形/球体/圆形。
任何指示器都是可以理解的。

uxh89sit

uxh89sit1#

我想为不熟悉系统的人完成上面的答案,
丢失的xmls(background_fill、progress_fill和progress)可以看起来像用于渐变红色的xmls

进度. 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:drawable="@drawable/background_fill" />

        <item android:id="@android:id/progress">
           <clip android:drawable="@drawable/progress_fill" />
        </item>
  </layer-list>

背景填充. xml

<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

<?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"
z9gpfhce

z9gpfhce2#

您应该设置SeekBar XML属性:

<SeekBar 
            ....
    android:progressDrawable="@drawable/progress"
    android:thumb="@drawable/thumb"
            ....
/>

进步是这样的:

<?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>

拇指是

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@drawable/thumb_fill" />
</selector>
50few1ms

50few1ms3#

由于SeekBar默认使用colorAccent,您可以使用自定义颜色colorAccent创建一个新样式,然后使用theme属性将其应用到SeekBar。

<SeekBar>
    .
    .
    android:theme="@style/MySeekBarTheme"
    .
</SeekBar>

在@样式:

<style name="MySeekBarTheme" parent="Widget.AppCompat.SeekBar" >
        <item name="colorAccent">#ffff00</item>
 </style>
sdnqo3pr

sdnqo3pr4#

seekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
tyky79it

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"/>
7cwmlq89

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" />
vnzz0bqm

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>

相关问题