カスタムSeekBar
を作成しようとしています。角が丸いはずです。 SeekBar
の進行状況でも、両側に角が丸いはずです。親指はいらない。このようなもの。
これを達成するために、私はlayer-list
xmlファイル、名前はcustom_seekbar.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">
<shape Android:shape="rectangle">
<corners Android:radius="20dp" />
<solid Android:color="#F0E9DC" />
</shape>
</item>
<item Android:id="@Android:id/secondaryProgress">
<clip>
<shape Android:shape="rectangle">
<corners Android:radius="20dp" />
<solid Android:color="#F0E9DC" />
</shape>
</clip>
</item>
<item Android:id="@Android:id/progress">
<clip>
<shape Android:shape="rectangle">
<corners Android:radius="20dp" />
<solid Android:color="#E38F71" />
</shape>
</clip>
</item>
</layer-list>
そして、丸い角の移動に対処するために、SeekBar
と同じ高さの円の親指を使用することを考えました。これがthumb.xmlです:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<size Android:height="16dp"
Android:width="16dp"/>
<corners Android:radius="20dp"/>
<solid Android:color="#E38F71"/>
</shape>
そして、私は私のアクティビティでSeekBar
を次のように表示しています:
<SeekBar
Android:layout_width="250dp"
Android:layout_height="16dp"
Android:layout_centerInParent="true"
Android:progressDrawable="@drawable/custom_seekbar"
Android:thumb="@drawable/thumb" />
唯一の問題は親指です。期待どおりに表示されていません。次のような不要な背景があります。
透明なつまみを設定すると、進行状況が丸くなりません。 Ovalの形を親指で使ってみました。誰かがどこで私が間違っているのか教えてください?または、他に方法があれば、希望する結果を得ることができます。どんな助けでも本当にいただければ幸いです。
Android:splitTrack="false"
を追加すると、問題が解決します。 Android:shape="oval"
には、角が丸いrectangle
ではなくthumb.xml
も使用します