2013-04-04 19 views
6

Próbuję dostosować pasek wyszukiwania. Mam to głównie działa, ale nie jestem w stanie usunąć zaokrąglone krawędzie tego seekbar. Wiem, że jest wiele pytań na ten temat i że zastosowanie rogów 0dp pomoże, ale nie wiem, gdzie zaimplementować ten kształt. Kiedy próbuję wyświetlić kształt, robi się ostre krawędzie, ale moje tło się nie pokazuje, ma czarny prostokątny kształt. Chcę mieć ostre krawędzie z moim tłem.Usuwanie zaokrąglonych krawędzi dostosowanego paska Seekbar?

enter image description here

seekbarprogrss.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"> 
     <bitmap 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:tileMode="repeat" 
      android:antialias="true" 
      android:dither="false" 
      android:filter="false" 
      android:gravity="left" 
      android:src="@drawable/cover_back" /> 
    </item> 
    <item 
     android:id="@android:id/progress" 
     android:drawable="@drawable/seek_progress_bg"/> 

</layer-list> 

seek_progress_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <clip> 
     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
      android:src="@drawable/cover_front" 
      android:tileMode="repeat" 
      android:antialias="true" 
      android:dither="false" 
      android:filter="false" 
      android:gravity="left" 
     /> 
     </clip> 
    </item> 

</layer-list> 

SeekBar realizacja

<SeekBar 
     android:id="@+id/seekBar1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/button2" 
     android:progress="0" 
     android:secondaryProgress="0" 
     android:padding="0dp" 
     android:thumbOffset="0dp" 
     android:progressDrawable="@drawable/seekbarprogrss" 
     android:thumb="@drawable/cover" 

Odpowiedz

6

SeekBar Dostosowanie

najpierw utworzyć klasę zwyczaj mSeekbar.java

public class mSeekbar extends SeekBar{ 
    public seekBar (Context context) { 
     super(context); 
     Initialise(); 
    } 
    public seekBar (Context context, AttributeSet attrs) { 
     super(context, attrs); 
     Initialise(); 
    } 
    public seekBar (Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     Initialise(); 
    } 
    private void Initialise(){ 
     this.setBackgroundDrawable(getResources().getDrawable(R.drawable.shape)); 
     this.setProgressDrawable(getResources().getDrawable(R.drawable.seek_bar_base)); 
    } 
} 

następnie dodać tę część do xml

<"packageName".seekBar 
     android:id="@+id/seekBar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:thumb="@drawable/red_front" 
     android:padding="0dp" 
     android:progress="0" 
     android:indeterminate="false" 
     android:secondaryProgress="0" 
     android:thumbOffset="0dp"/> 

użytku te Rysunki

seek_bar_base.xml

<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@android:id/background"> 
     <bitmap 
      android:src="@drawable/gray_back" 
      android:tileMode="repeat"> 
     </bitmap> 
    </item> 
    <item 
     android:id="@android:id/progress"> 
     <layer-list 
      xmlns:android="http://schemas.android.com/apk/res/android" > 
      <item> 
       <clip > 
        <bitmap 
         xmlns:android="http://schemas.android.com/apk/res/android" 
         android:src="@drawable/gray_front" 
         android:tileMode="repeat"/> 
       </clip> 
      </item> 
     </layer-list> 
    </item> 
</layer-list> 

shape.xml

<shape 
     xmlns:android="http://schemas.android.com/apk/res/android" > 
     <corners android:radius="0dp"/> 
    </shape> 

Obrazy wykorzystane,

enter image description here gray_back.jpg

enter image description here gray_front.jpg

enter image description here red_front.jpg

Powiązane problemy