2011-08-21 3 views
9

사용자 정의 검색 바를 만들려고합니다. 두 개의 9 패치 이미지가 회색 스트레칭 막대 search_progress.9.png (배경색)이고 다른 하나는 녹색 스트레칭 막대 search_progress_bar.9.png (전경색)입니다.안드로이드 seekbar는 9 패치 이미지를 사용하여 사용자 정의 스타일을 설정했습니다.

나는 내 검색 막대의 progressDrawable으로이 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" android:drawable="@drawable/search_progress"></item> 
    <item android:id="@android:id/progress" android:drawable="@drawable/search_progress_bar"></item> 
</layer-list> 

내 문제가 아니라 내 손가락 위치로 채우고 바, 전체 줄이 모든 시간 (search_progress_bar 이미지) 녹색 점이다. 내 이미지를 사용하여 Android의 progress_horizontal.xml과 동일한 효과를 얻으려면 어떻게해야합니까 (셰이프를 사용하여 내 바를 그리지 않으려 고합니다).

답변

11

이 문제는 ClipDrawable을 사용하여 해결되었습니다. 이것이 나를 위해 일한 것입니다 :

@ drawable/search_progress_drawable을 progressDrawable로 설정하십시오.

search_progress_drawable.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" android:drawable="@drawable/search_progress"></item> 
    <item android:id="@android:id/progress" android:drawable="@drawable/search_progress_clip"></item> 
</layer-list> 

search_progress_clip.xml :

<?xml version="1.0" encoding="utf-8"?> 
<clip xmlns:android="http://schemas.android.com/apk/res/android" 
    android:drawable="@drawable/search_progress_bar" 
    android:clipOrientation="horizontal" 
    android:gravity="left"> 
</clip> 
16

e_x_p의 버전은 잘 작동하지만 더 간단한 버전은 하나에 모든 것을 유지하는 니스

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

    <item android:id="@android:id/background"> 
     <nine-patch android:src="@drawable/progressbar_bg" android:dither="true"/> 
    </item> 
    <item android:id="@android:id/progress"> 
     <clip xmlns:android="http://schemas.android.com/apk/res/android" 
      android:clipOrientation="horizontal" 
      android:gravity="left"> 
      <nine-patch android:src="@drawable/progressbar_status" android:dither="true"/> 
     </clip> 
    </item> 

</layer-list> 
+0

입니다 파일, 고마워! – Russ

+1

은 매력처럼 작동합니다! :) – yahya

+0

9 개의 패치 이미지를 사용하는 동안 나에게도 도움이됩니다. 감사! – Hasmukh