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

Я создал следующее PNG-изображение с девятью патчами

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

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

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

как видите картинка не заливает всю кнопку Фон!

вот файл макета XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="@drawable/ninepatchimage"
        android:text="Click ME" />
</LinearLayout>

может кто-нибудь сказать мне, почему ??


person Mohamad Ghanem    schedule 02.08.2013    source источник


Ответы (2)


Глядя на изображение, кажется, что изображение не анализируется как 9-патч, оно должно быть сохранено как img.9.png, иначе оно будет отображаться как обычное изображение.

Так:

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

person FabianCook    schedule 02.08.2013
comment
Может попробовать без прокладки - person FabianCook; 02.08.2013
comment
выбранное изображение сохраняется как img.9.png, но когда я добавляю его в проект как изображение набора значков, я проверил имя изображения, и это было img.png в папках Drawable !!! проблема здесь??? - person Mohamad Ghanem; 02.08.2013
comment
Да, должно быть как на картинке выше - person FabianCook; 02.08.2013
comment
Вы можете перетащить изображение прямо в папку - person FabianCook; 02.08.2013
comment
Хорошо, я попробую :) но в какую папку Drawable я должен перетащить картинку?? - person Mohamad Ghanem; 02.08.2013
comment
просто рисуемый, он будет работать для всех плотностей, если у вас нет специфичных для языка. - person FabianCook; 02.08.2013

В настоящее время в AndroidStudio вы можете просто взять любое изображение из ресурсов, щелкнуть его правой кнопкой мыши и выбрать "Создать файл 9-Patch", а затем настроить его с помощью встроенного редактора 9-Patch, как описано здесь.

person jox    schedule 23.08.2019