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

#android #rendering #nine-patch #android-seekbar

#Android #рендеринг #девять исправлений #android-панель поиска

Вопрос:

Я пытаюсь использовать панель поиска Android с пользовательским макетом, однако, если я попытаюсь установить progressDrawable со слоем изображений с девятью исправлениями для поддержки нескольких разрешений, это не сработает. Однако, если я не использую девять патчей, он отображается правильно, но растягивается. Вот код, который я использую для программной настройки прогресса:

 mAuxSlideButton.setProgressDrawable(getResources().getDrawable(R.drawable.seekbar_slidebutton_progress_clip);
  

и это seekbar_slidebutton_progress_clip.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/seekbar_slidebutton_progressbackground" >
    </item>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/seekbar_slidebutton_progressbar" />
    </item>
</layer-list>
  

Вот два изображения, показывающие результат и используемые изображения:
Изображение, показывающее, когда нет девяти исправлений, прогресс и фон прогресса ниже

Изображение, показывающее, когда используется девять исправлений, прогресс и фон прогресса ниже

Единственное отличие заключается в том, что я выбрал изображение в Android Studio и создал по нему девять исправлений.

Кто-нибудь знает, почему это происходит? Я не могу использовать прямой XML, потому что кнопка создается во время выполнения, когда выполняются условия, в противном случае это простая кнопка.

Большое спасибо.

Комментарии:

1. Девять исправлений работают просто отлично, я понятия не имею, что вы имеете в виду "it doesn't work"

2. На фотографиях во-вторых, когда я использую девять исправлений, фон прогресса масштабируется просто отлично, однако прогресс слишком мал. Я не знаю, почему это происходит, я хотел, чтобы это было похоже на первое изображение.

3. попробуйте это