2015-10-09 7 views
17

私はカスタムを作成しようとしていますSeekBar。丸い角があるはずです。 SeekBarの進捗状況であっても、両側に丸い角があります。私は親指は必要ありません。このようなもの。次のように不要な背景を表示するカスタムSeekBarのサム

Custom Seekbar with round corners

はこれを実現するために、私は名前の、custom_seekbar.xmllayer-list 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" /> 

唯一の問題は、親指です。期待どおりに表示されません。これは、このような不要なバックグラウンドを持っています

Custom Seekbar thumb with unwanted background

私は透明の親指を設定した場合は、進捗状況はもうラウンドではありません。私は親指で楕円形の形を使ってみました。私が間違っている場所を教えてください。あるいは、他の方法があれば、私は望みの結果を達成することができます。どんな助けでも本当に感謝しています。

+1

のために角の丸いandroid:shape="oval"、代わりのrectangleを、使用して呼び出すことによって、それを使用します(' [この]のようsetProgressDrawable' http://stackoverflow.com/a/ 21060826/2252830)回答 – pskink

+0

レイヤリスト – Pavya

+0

@ user3676184を使用してthumb.xmlを作成する方法について教えてください。私はたくさんのことを試みましたが、私が望むものを得ることができませんでした。 – Anjani

答えて

51

android:splitTrack="false"を追加すると、問題が解決されます。私はまた、カスタム `Drawable`クラスを作成し、あなたのthumb.xml

+0

私は "楕円形"の形を使っていました。同じ問題がありました。だから私は丸い角の四角形で試してみました。まだ何も変わっていない。だから私はちょうどそのように投稿した。 – Anjani

+3

あなたは 'android:splitTrack =" false "'をシークバーに追加してみることができますか? – Blackbelt

+0

それは素晴らしいです。ちょうど1行と私の問題はなくなった!どうもありがとうございます。あなたは私の時間を節約しました!私がそれを受け入れるようにあなたの答えを編集してください。 – Anjani

関連する問題