Размещение включенного макета сверху и снизу основного макета - PullRequest
1 голос
/ 01 февраля 2012

Я повторно использую макет через тег включения.Мне нужно, чтобы один из них был наверху, а один внизу.Проблема в том, что оба идут сверху.Это полностью игнорирует layout_below и layout_alignParentBottom

Это основной файл XML:

<RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" 
                android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
                android:background="#009933">
    <LinearLayout android:id="@+id/lloAdMod"
                xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
              android:orientation="vertical"
              android:layout_width="@dimen/ad_width"
              android:layout_height="@dimen/ad_height">
             <com.google.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="**************"
                         ads:adSize="BANNER"/>
    </LinearLayout>

<RelativeLayout android:id="@+id/relativeLayout2" android:layout_width="fill_parent" 
                android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
                android:background="#009933" android:layout_below="@id/lloAdMod">
    <TextView   android:layout_height="wrap_content" android:layout_alignParentLeft="true" 
                android:id="@+id/tvwMoveMessage" android:text="" android:layout_width="fill_parent"
                android:scrollHorizontally ="true" android:textColor="#000000"
                android:background="#F3F781" android:singleLine="true" android:ellipsize="marquee" 
                android:marqueeRepeatLimit="marquee_forever"/> 

    <include    layout="@layout/card_layout_horizontal"  android:id="@+id/layCardsTop"
                android:layout_below="@id/tvwMoveMessage"
                android:layout_centerHorizontal="true" android:visibility="visible"/>   




    <include    layout="@layout/card_layout_horizontal"  android:id="@+id/layCardsBottom"
                android:layout_alignParentBottom="true" 
                android:layout_centerHorizontal="true" android:visibility="visible"/>   

 </RelativeLayout>
 </RelativeLayout>

Это включенный:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >
    <ImageView  android:id="@+id/ivwCard2"  android:layout_width="46dip" android:layout_height="62dip"
                android:src="@drawable/icon" android:contentDescription="@string/card"
                android:layout_centerHorizontal="true" android:visibility="invisible"/> 
    <ImageView  android:id="@+id/ivwCard3"  android:layout_width="46dip" android:layout_height="62dip"
                android:src="@drawable/icon" android:layout_toRightOf="@id/ivwCard2" 
                android:visibility="invisible" android:contentDescription="@string/card"
                android:layout_centerHorizontal="true"/>
    <ImageView  android:id="@+id/ivwCard4"  android:layout_width="46dip" android:layout_height="62dip"
                android:src="@drawable/icon"  android:contentDescription="@string/card"
                android:layout_toRightOf="@id/ivwCard3" 
                android:layout_centerHorizontal="true" android:visibility="invisible"/>
    <ImageView  android:id="@+id/ivwCard1"  android:layout_width="46dip" android:layout_height="62dip"
                android:src="@drawable/icon" android:layout_toLeftOf="@id/ivwCard2" 
                android:layout_centerHorizontal="true"
                android:visibility="invisible"  android:contentDescription="@string/card" />
    <ImageView  android:id="@+id/ivwCard0" android:layout_width="46dip" android:layout_height="62dip"
                android:layout_toLeftOf="@id/ivwCard1" 
                android:src="@drawable/icon" android:layout_centerHorizontal="true"
                android:visibility="invisible"  android:contentDescription="@string/card" />
 </RelativeLayout> 

Я мог бы создать LinearLayoutвверху и внизу поместите атрибут layout_ *, а затем включите в него.Разве нет лучшего решения?

Ответы [ 3 ]

1 голос
/ 14 февраля 2012

Вы не включили в тег include ширину и высоту.И тег include , и включенный корневой макет должны иметь ширину и высоту.Сегодня я тоже боролся с позиционированием include , пока не нашел это решение.(Автоматическое извлечение Eclipse помогло мне).

1 голос
/ 01 февраля 2012

Оба включения находятся внутри внутреннего RelativeLayout (android: id = "@ + id /lativeLayout2").Если вы хотите разместить его относительно внешнего RelativeLayout, разместите включенные макеты вне относительногоLayout2.

0 голосов
/ 01 февраля 2012

разместите макет вне android: id = "@ + id /lativeLayout2" так же, как и выше! но единственное решение:)

...