寻找酒吧,将路径颜色从黄色变为白色

Dav*_*run 53 android android-emulator

我有两个问题:

1)如何将搜索栏(路径)的颜色从黄色(默认颜色)更改为白色.我的意思是说,当我滑动拇指时,它会将线条从灰色变为黄色.我希望轨道/线保持灰色或白色.基本上我只想拇指移动而在搜索栏中没有颜色变化.

2)如何将搜索条的拇指从矩形改为圆形/球形/圆形.

任何指针将不胜感激.

Arn*_*old 94

我想从上面为那些刚接触系统的人完成答案,

丢失的xmls(background_fill,progress_fill和progress可能看起来像渐变红色

progress.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>
Run Code Online (Sandbox Code Playgroud)

background_fill.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>
Run Code Online (Sandbox Code Playgroud)

progress_fill.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>
Run Code Online (Sandbox Code Playgroud)

我没有完成android:thumb的实现,所以拇指仍然是原始的

因此,我们只需要从我们定义搜索条的布局xml中再次删除该行

android:thumb="@drawable/thumb"
Run Code Online (Sandbox Code Playgroud)

祝好运!!!


Asa*_*ahi 69

您应该设置SeekBar XML属性:

<SeekBar 
            ....
    android:progressDrawable="@drawable/progress"
    android:thumb="@drawable/thumb"
            ....
/>
Run Code Online (Sandbox Code Playgroud)

进步是这样的:

<?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> 
Run Code Online (Sandbox Code Playgroud)

而拇指是

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@drawable/thumb_fill" />
</selector>
Run Code Online (Sandbox Code Playgroud)

  • 那些是你必须自己创建的drawable:你可以使用9.png(或另一个可绘制的资源 - http://developer.android.com/reference/android/graphics/drawable/Drawable.html和http:// developer. android.com/guide/topics/resources/drawable-resource.html)根据需要装饰你的搜索栏. (3认同)

hed*_*sam 24

由于默认情况下SeekBar使用colorAccent,您可以使用自定义颜色创建新样式,colorAccent然后使用theme属性将其应用于SeekBar.

<SeekBar>
    .
    .
    android:theme="@style/MySeekBarTheme"
    .
</SeekBar>
Run Code Online (Sandbox Code Playgroud)

在@style中:

 <style name="MySeekBarTheme" parent="Widget.AppCompat.SeekBar" >
        <item name="colorAccent">#ffff00</item>
 </style>
Run Code Online (Sandbox Code Playgroud)


Ali*_*nia 16

seekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)


que*_*ent 9

您只需从API级别21添加色调即可.

将这些属性添加到seekbar元素:

android:progressTint ="@ android:color/white" android:thumbTint ="@ android:color/white"

最后结果:

<SeekBar
    android:id="@+id/is"
    android:layout_width="match_parent"
    android:max="100"
    android:progressTint="@android:color/white"
    android:thumbTint="@android:color/white"/>
Run Code Online (Sandbox Code Playgroud)