Пользовательский стиль поиска в Android с использованием изображений с девятью патчами

Я пытаюсь создать пользовательский стиль поиска. У меня есть два изображения с девятью патчами, один из которых – серая полоса растяжения search_progress.9.png (цвет фона), а другая – зеленая полоса растяжения search_progress_bar.9.png (цвет переднего плана).

Я использую этот xml как progressreadable:

<?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). Как я могу получить тот же эффект, что и progress_horizontal.xml от Android с моими собственными изображениями (я не хочу использовать фигуры для рисования моего бара)?

Solutions Collecting From Web of "Пользовательский стиль поиска в Android с использованием изображений с девятью патчами"

Версия 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> 

Я решил эту проблему с помощью 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>