3

画面下部にバナーを設定するにはどうすればよいですか?
私はRelativeLayoutを試してみましたが、画面の外側にあります。

それは私の単純なコードです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/layout_home"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/background" 
   android:orientation="vertical">

       <LinearLayout 
            android:id="@+id/layout_body"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/background2" 
            android:orientation="vertical">

          ......
       </LinearLayout>
       <RelativeLayout
            android:id="@+id/layout_banner"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
         ....
       </RelativeLayout>
</LinearLayout>

アップデート

android:layout_alignParentBottom = "true"を設定しましたが、変更していません

4

4 に答える 4

2

下部のバナーを表示するには、以下のXMlコードを使用します。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/layout_home"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/background">

       <LinearLayout 
            android:id="@+id/layout_body"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/background2" 
            android:orientation="vertical" 
            android:layout_above="@+id/layout_banner">

          ......
       </LinearLayout>
       <RelativeLayout
            android:id="@+id/layout_banner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:layout_alignParentBottom="true">
         ....
       </RelativeLayout>
</RelativeLayout>
于 2012-09-20T07:23:45.103 に答える
1

にバナーを配置し、https ://stackoverflow.com/a/5380447/1434631でソリューションを確認してRelativeLayoutください。android:layout_alignParentBottom="true"

于 2012-09-20T07:03:36.867 に答える
1

これは、LinearLayoutwithidlayout_bodyがすでに画面全体を占めているためです。したがって、RelativeLayoutwith idlayout_bannerには、画面の下部以外に移動する場所がありません。

代わりに、次のことを試すことができます。

  1. に変更RelativeLayoutしますLinearLayout
  2. に変更layout_bodylayout_bannerますlayout_heightwarp_content
  3. layout_weight="1"に追加layout_body

これにより、要件がアーカイブされます。

于 2012-09-20T07:08:54.473 に答える
0

ビューを線形レイアウトに保ちたい場合は、次のandroid:layout_weight="1"ような属性でギャップを埋めている空のビューを追加できます。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/layout_home"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/background" 
   android:orientation="vertical">

   <LinearLayout 
        android:id="@+id/layout_body"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/login" 
        android:orientation="vertical">

      ......
   </LinearLayout>
   <View
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1" />
   <AnyLayout (you choose)
        android:id="@+id/layout_banner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
     ....
   </AnyLayout>
</LinearLayout>

または、RelativeLayout内に全体を設定できます

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/layout_home"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/background">

   <LinearLayout 
        android:id="@+id/layout_body"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/login" 
        android:orientation="vertical">

      ......
   </LinearLayout>
   <AnyLayout (you choose)
        android:id="@+id/layout_banner"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
     ....
   </AnyLayout>
</RelativeLayout>
于 2012-09-20T07:04:37.323 に答える