Обивка текста с девятью участками не имеет визуального эффекта - PullRequest
9 голосов
/ 01 февраля 2011

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

Это определение xml:

<by.pplware.view.QuickInfo
    android:id="@+id/quickinfo"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:padding="20px"
    android:textSize="20px"
    android:textStyle="bold"
    android:typeface="serif"
    android:background="#FFFF0000"
/>

это текстовое представление с цветным фоном: enter image description here

это текстовое изображение с отрисовываемым фоном: enter image description here

Как я понимаю, в случае фона из девяти патчей Android сделать отступ прозрачным и использоватьрисуется только как фон для текста.Но я хочу включить отступы в область, покрытую фоном из девяти пятен.

Есть ли какое-либо решение для этой проблемы?

1 Ответ

26 голосов
/ 01 февраля 2011

Попробуйте выполнить одно из следующих действий:

  1. Установите фоновый патч ninepatch с помощью свойства xml "android: background" вместо программно;это работает с заполнением, определенным в XML.
  2. Если вам нужно установить фон программно, попробуйте переустановить отступ после установки фона (если вы установите отступ, затем установите фон, я бы предположил, чтоотступы, определенные в самой программе ninepatch, переопределяют ее).
  3. Избегайте всей проблемы и просто установите области заполнения в самом изображении ninepatch (это правая и нижняя черные полосы).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...