У меня довольно простая компоновка с изображением и некоторые текстовые изображения, завернутые в вертикальный LinearLayout. Всякий раз, когда я устанавливаю фон этого макета как 9patch, высота макета, похоже, устанавливается на высоту 9patch (хотя 9patch, кажется, успешно растягивается, чтобы быть высотой макета.)9patch вызывает странную ошибку layout_height
Если Я использую сплошной цвет фона, высота макета работает по назначению.
Вот скриншот с 9patch на месте:
Вот скриншот с твердым фоном вместо 9patch (обратите внимание, как текст центрируется в макете сейчас):
И, наконец, вот XML:
<?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:background="@color/show_gray"
android:gravity="center_vertical"
android:orientation="horizontal" android:weightSum="5">
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:scaleType="centerCrop"
android:src="@drawable/temp_featured_banner" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#FF0000"
android:gravity="center"
android:orientation="vertical"
android:paddingLeft="30dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textColor="@color/white" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Small Text"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
... и на всякий случай, вот скриншот draw9patch показывает мой 9patch вытяжке:
Я подозревал, что LinearLayout не выше, чем естественный размер 9patch (так что было нечего растягивать ..), поэтому я уменьшил 9patch в высоту на 50%. Проблема все еще существовала.
Любые идеи?
Вы пытались установить область вертикального заполнения вашего девяти патча? – JRaymond
@JRaymond есть две черные точки на самом левом верхнем и левом нижнем углу изображения. Это то, что вы имели ввиду? – NPike
Нет ... верхняя и левая части девяти патчей относятся к области «растяжимая» изображения. Правая и нижняя части девяти патчей определяют, где ** контент ** должен идти - в настоящее время вы просто говорите ему, чтобы угадать (и он догадывается, помещая все содержимое в строку, обозначенную верхней левой точкой) , из того, что я могу сказать по вашему изображению, вы, вероятно, хотите сплошную черную линию сверху вниз (оставляя углы, конечно) справа от девяти патчей, и соответствующую точку в вашей верхней правой черной точке на bottom – JRaymond