web-dev-qa-db-ja.com

Lollipop API 21ではカスタムシークバーのつまみが透明ではない

これは私の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のレイアウトにいくつか問題がありますが、これは私自身が解決できない唯一の問題です。

マテリアルシークバーでは、デフォルトで分割トラックが有効になっています。オフにする必要があります。

<SeekBar
    ....
    Android:splitTrack="false" />
55
alanv

すべてのデバイスでAndroid.support.v7.widget.AppCompatSeekBa rおよびapp:splitTrackを使用します。

  <Android.support.v7.widget.AppCompatSeekBar
      app:splitTrack="false"
      Android:splitTrack="false"/>
1
Rasoul Miri