Кнопка с фоновым изображением из 9 патчей растягивается неправильно

У меня проблема с пользовательским фоном для кнопки. Вот мой 9-патч: результирующее изображение

То же самое в патче Draw 9:

in Draw 9-patch

И, наконец, результат на экране устройства:

результат на экране

И это код, описывающий мою кнопку:

Макет:

<Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="New Button"
        style="@style/button"/>

Стиль:

<style name="button">
    <item name="android:background">@drawable/button</item>
    <item name="android:textColor">@color/button_text</item>
</style>

@drawable/button:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false" >
        <bitmap android:src="@drawable/button_test"/>
    </item>
</selector>

Имя файла для рисования в папках res — button_test.9.png

У вас есть идеи, почему это не работает? Спасибо.


person uncle Lem    schedule 21.08.2013    source источник
comment
может быть проблема компиляции. почистить и восстановить?   -  person njzk2    schedule 21.08.2013
comment
Кроме того, вы должны поместить рисуемый объект непосредственно в элемент: <item android:state_pressed="false" android:drawable="@drawable/button_test"/>   -  person njzk2    schedule 21.08.2013


Ответы (3)


удалить тег растрового изображения внутри тега элемента, добавить атрибут android:drawable в тег элемента

person pskink    schedule 21.08.2013

попробуйте этот 9-исправленный образ:

введите здесь описание изображения

надеюсь, что это работает.

person The Badak    schedule 21.08.2013

Вам нужно добавить прозрачный периметр толщиной не менее одного пикселя вокруг вашего изображения. См. примеры изображений в официальной документации.

Попробуйте этот образ. введите здесь описание изображения(убедитесь, что вы сохраняете его с расширением .9.png)

person JiTHiN    schedule 21.08.2013
comment
Не связанная с этим заметка: не одобряйте предлагаемые правки, используя обратные кавычки для некодовых элементов, а отклоняйте или улучшайте их. - см. например здесь почему - person Tobias Kienzler; 04.10.2013