自定义搜索栏拇指在Lollipop API 21上不透明

时间:2014-11-18 08:07:53

标签: android layout android-5.0-lollipop android-seekbar

这是我的搜索栏

<SeekBar
    android:id="@+id/seek1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:progressDrawable="@drawable/style_progressbar"
    android:thumb="@drawable/style_progressbar_circle"
    android:progress="20" />

这是 style_progressbar.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape android:shape="rectangle" >
            <corners android:radius="5dp" />
            <gradient
                android:angle="270"
                android:endColor="@color/gris_hint"
                android:startColor="@color/gris_hint" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape android:shape="rectangle" >
                <corners android:radius="5dp" />
                <gradient
                    android:angle="270"
                    android:endColor="@color/gris"
                    android:startColor="@color/gris" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape android:shape="rectangle" >
                <corners android:radius="5dp" />
                <gradient
                    android:angle="270"
                    android:endColor="@color/gris"
                    android:startColor="@color/gris" />
            </shape>
        </clip>
    </item>
</layer-list>

这是style_progressbar_circle.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/red_scrubber_control_disabled_holo" android:state_enabled="false"/>
    <item android:drawable="@drawable/red_scrubber_control_pressed_holo" android:state_pressed="true"/>
    <item android:drawable="@drawable/red_scrubber_control_focused_holo" android:state_selected="true"/>
    <item android:drawable="@drawable/red_scrubber_control_normal_holo"/>
</selector>    

这就是我在棒棒糖中看到的方式

Seekbar Lollipop

它应该是这样的,这就是它在Kitkat和更低版本上的外观。

Seekbar KitKat

有什么想法吗?我在Lollipop上遇到了一些布局问题,但这是我唯一无法解决的问题。

2 个答案:

答案 0 :(得分:53)

材质搜索栏默认启用了分割轨迹。你需要把它关掉。

<SeekBar
    ....
    android:splitTrack="false" />

答案 1 :(得分:1)

对所有设备使用 android.support.v7.widget.AppCompatSeekBa r和 app:splitTrack

50000