Фоновый рисунок выталкивает его Размер просмотра

У меня есть мозаичное растровое изображение, которое я использую в качестве фона View . Это представление , скажем, имеет android: layout_height = "wrap_content" . Проблема в том, что высота растрового изображения, используемого в качестве фона, участвует в измерении вида, увеличивая высоту View . Это можно заметить, когда размер содержимого View меньше, чем высота растрового изображения, используемого в качестве фона тайла.

Позвольте мне показать вам пример.Растровое изображение плитки:

enter image description here

Растровое изображение, которое можно рисовать ( tile_bg.xml ):

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/tile"
    android:tileMode="repeat"/>

Макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#FFFFFF">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/tile_bg"
        android:text="@string/hello"
        android:textColor="#000000" />

</LinearLayout>

Как это выглядит:

enter image description here

Высота TextView заканчивается высотой растрового изображения. Я ожидал, что растровое изображение будет обрезано до размера View .

Есть ли способ добиться этого?

Примечания:

  • Я не могу использовать чертежи 9patch, так как фон нужно повторять в стиле плитки, растяжение не является вариантом.
  • Я не могу установить фиксированную высоту для View , это зависит от дочерних элементов (я использую это в ViewGroup ).
  • Такое странное поведение происходит, когда Я объяснил ранее, когда размер представления меньше, чем размер растрового изображения, в противном случае растровое изображение повторяется и обрезано правильно (т. Е. Если размер представления в 1,5 раза больше размера растрового изображения, вы заканчиваете видя в 1,5 раза больше растрового изображения).
  • Пример касается высоты, но то же самое с шириной.
10
задан aromero 12 January 2012 в 21:22
поделиться