SeekBar
ビューでカスタムサムドロアブルを使用する場合、サムドロアブルはビューの左端と右端でクリップされます。
この動作を修正するにはどうすればよいですか?
これを修正するには、paddingLeft
の paddingRight
およびSeekBar
をサム幅の半分に設定する必要があります(密度に依存しない単位を使用することを忘れないでください)。また、 setThumbOffset
を呼び出すことで、シークバーの親指の端で許可されるスペースを制御できます。
私は自分でこの問題にぶつかりましたが、"correct"
変更はAndroid:thumbOffset
は、SeekBarのデフォルトスタイルとして8pxに設定します。
デフォルトのSeekBarではこれらの設定を使用しましたが、正常に動作します:
Android:paddingLeft="6dp"
Android:paddingRight="6dp"
Android:thumbOffset="8dp"
明確にするためだけに。
私が見たいくつかの場所で
Android:thumbOffset="8dp"
いくつかの
Android:thumbOffset="8px"
だから私はソースコードを見ました。これは元のスタイルです
<style name="Widget.SeekBar">
<item name="Android:indeterminateOnly">false</item>
<item name="Android:progressDrawable">@Android:drawable/progress_horizontal</item>
<item name="Android:indeterminateDrawable">@Android:drawable/progress_horizontal</item>
<item name="Android:minHeight">20dip</item>
<item name="Android:maxHeight">20dip</item>
<item name="Android:thumb">@Android:drawable/seek_thumb</item>
<item name="Android:thumbOffset">8dip</item>
<item name="Android:focusable">true</item>
</style>
から