web-dev-qa-db-ja.com

Androidシークバークリップ親指

奇妙な問題が発生しました。カスタムサムでシークバーを実装しました。HTCDesireでアプリを実行すると、すべて正常に動作します。しかし、Samsung Galaxyで実行すると、サムがクリップされます。

これがスクリーンショットです。

欲望:

Desire seekbar

サムスンのギャラクシー:

Galaxy seekbar

私はどんな考えにも感謝します..tnx

myprogress.xml:

<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">

<item Android:id="@Android:id/background">
    <shape>
        <corners
            Android:radius="10dp" />
        <gradient
                Android:startColor="@color/gray"
                Android:centerColor="@color/gray"
                Android:centerY="0.75"
                Android:endColor="@color/gray"
                Android:angle="270"
        />
    </shape>
</item>

<item Android:id="@Android:id/secondaryProgress">
    <clip>
        <shape>
        <corners
            Android:radius="10dp" />
            <gradient
                    Android:startColor="@color/white"
                    Android:centerColor="@color/white"
                    Android:centerY="0.75"
                    Android:endColor="@color/white"
                    Android:angle="270"
            />
        </shape>
    </clip>
</item>

<item Android:id="@Android:id/progress">
    <clip>
        <shape>
        <corners
            Android:radius="10dp" />
            <gradient
                Android:startColor="#FFA500"
                Android:centerColor="@color/yellow"
                Android:centerY="0.75"
                Android:endColor="@color/yellow"
                Android:angle="270"
            />
        </shape>
    </clip>
</item>

スタイル:

<style name="mySeekBar">
    <item name="Android:indeterminateOnly">false</item>
    <item name="Android:progressDrawable">@drawable/myprogress</item>
    <item name="Android:indeterminateDrawable">@Android:drawable/progress_horizontal</item>
    <item name="Android:minHeight">10dip</item>
    <item name="Android:maxHeight">10dip</item>
    <item name="Android:thumb">@drawable/thumb</item>
    <item name="Android:thumbOffset">4dp</item>
    <item name="Android:focusable">true</item>

seekbar xml:

<SeekBar Android:id="@+id/player_seek_horizontal"
        Android:layout_gravity="center_vertical" 
        Android:max="100" 
        Android:layout_marginLeft="50dp" 
        Android:layout_width="180dp" 
        Android:thumb="@drawable/thumb" 
        Android:layout_height="wrap_content" 
        style="@style/mySeekBar" 
        Android:background="@drawable/background_transparent_rounded" 
        Android:paddingRight="4dp" Android:paddingLeft="4dp"/>
24

SeekBarAndroid:paddingLeftAndroid:paddingRight、およびAndroid:thumbOffsetプロパティを調整して、目的の結果を達成します。

左右のパディングは親指の幅の半分にする必要があります。

36
<SeekBar
    ...
    Android:paddingLeft="5dp"  
    Android:paddingRight="5dp"
    Android:thumbOffset="0px" />

それは私のために働いた。

10
sandy

親レイアウトに次の属性を追加します

Android:clipChildren="false"
Android:clipToPadding="false"
4
DroidBender