TextView фон растягивается - PullRequest
       0

TextView фон растягивается

4 голосов
/ 02 февраля 2012

Я хочу установить фон TextView, и я хочу, чтобы размер TextView соответствовал размеру фона и текста.

вот мой код:

    <TextView 
        android:id="@+id/attackeNameTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="13dp"
        android:paddingTop="8dp"
        android:paddingLeft="35dp"
        android:paddingRight="35dp"
        android:singleLine="true"
        android:ellipsize="end"
        android:textSize="12sp"
        android:text="thej hhekj hejk hjkesd ks dkl jsalkj dkl"
        android:background="@drawable/attackee_name_background"/> 

В результате текст отлично помещается внутри «отступа», но фон растягивается.

я должен назначить фиксированный layout_width на TextView?

Ответы [ 2 ]

3 голосов
/ 03 февраля 2012

Если вы хотите, чтобы фон точно соответствовал вашему TextView размеру без растяжения и чтобы текст помещался внутри, вам нужно использовать изображение 9-patch или установить фиксированный размер, равный размерам изображения. Других решений нет.

Учтите также, что padding уменьшает только область текстового поля (фон не уменьшается), в то время как margin s оставляет пространство за пределами поля TextView.

Таким образом, если фоновое изображение (image_width, image_height) и вы хотите оставить отступ внутри TextView без растягивания фона и без использования 9-patch изображения, вы должны установить фиксированный размер на TextView, равный (image_width+paddingLeft+paddingRight, image_height+paddingTop+paddingBottom).

3 голосов
/ 02 февраля 2012

РЕДАКТИРОВАТЬ

вот хакерский способ делать то, что вы хотите ...

<FrameLayout
        android:id="@+id/frameLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitCenter"
            android:src="@drawable/something" />
       <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="TextView" />
    </FrameLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...