2011-08-21 27 views
9

Tôi đang cố gắng tạo thanh tìm kiếm theo kiểu tùy chỉnh. Tôi có hai hình ảnh chín miếng là một thanh kéo dài màu xám search_progress.9.png (màu nền) và màu kia là thanh kéo dài màu xanh lá cây search_progress_bar.9.png (màu nền trước).Thanh tìm kiếm của Android đặt kiểu tùy chỉnh bằng hình ảnh chín vá

tôi sử dụng xml này như progressDrawable seekbar tôi:

<?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> 

Vấn đề của tôi là, thay vì thanh lấp đầy vị trí ngón tay cái của tôi, toàn bộ thanh là màu xanh lá cây tất cả các thời gian (hình ảnh search_progress_bar). Làm thế nào tôi có thể có được hiệu ứng tương tự như progress_horizontal.xml của Android với hình ảnh của riêng tôi (tôi không muốn sử dụng hình dạng để vẽ thanh của tôi)?

Trả lời

11

Tôi đã giải quyết sự cố này bằng cách sử dụng ClipDrawable. Đây là những gì đã hiệu quả đối với tôi:

Đặt @ drawable/search_progress_drawable làm tiến trìnhDrawable.

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: phiên bản

<?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 của làm việc tốt nhưng phiên bản thậm chí đơn giản là

<?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

Rất vui được giữ cho nó tất cả trong một tập tin, cảm ơn! – Russ

+1

hoạt động giống như một sự quyến rũ! :) – yahya

+0

Nó cũng làm việc cho tôi trong khi tôi sử dụng chín hình ảnh vá. cảm ơn! – Hasmukh

Các vấn đề liên quan