2013-02-27 2 views
0

Я пытаюсь достичь макета справа от изображения ниже. То, что я сейчас получаю, находится слева.Вид не занимает ту же высоту, что и родительский RelativeLayout

screenshot

Вот мой макет:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    > 

    <ImageView 
     android:id="@+id/garment_grid_item_image" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="@drawable/gridview_image_placeholder" 
     android:contentDescription="@string/blank" 
     android:scaleType="centerCrop" 
     /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/garment_grid_item_on_loan" 
     android:src="@drawable/icon_borrowed" 
     android:contentDescription="@string/blank" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:visibility="gone" 
     /> 

    <View 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="@drawable/item_border" 
     /> 

</RelativeLayout> 

@drawable/item_border (зеленый лайм просто выделить прозрачные области):

9 patch drawable

RelativeLayout используется как шаблон элемента для GridView. garment_grid_item_image заполняется кодом. garment_grid_item_on_loan - фиолетовый треугольник в правом верхнем углу, видимость которого контролируется кодом.

View внизу использует 9 патчей, и это тот, с которым я столкнулся. Я хочу, чтобы он был таким же высоким, как у родителя RelativeLayout, но ни match_parent, ни fill_parent не работал. Что я могу сделать, чтобы заставить его работать?

+1

Не могли бы вы поставить 'android: background =" @ drawable/item_border "' на 'RelativeLayout' вместо использования другого' View' внутри? Или я пропустил то, что вы здесь делаете? – Rawkode

+0

Это будет включать настройку прокладки на нем, которая должна измениться для разных размеров экрана. Я хочу использовать 3 разных 9 патч-изображения (xhdpi, hdpi, mdpi). – boz

ответ

0

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

Это может быть связано с вашим RelativeLayout, имеющим wrap_content как его размер, с дочерними представлениями, не указывающими размер для обертывания. Попробуйте указать фиксированный размер, чтобы увидеть, не исчезла ли проблема, а затем оттуда.

Смежные вопросы