Баннер снизу Android

Как я могу установить баннер внизу экрана?
Я попытался с 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 ответа

Решение

Используйте код 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>

Разместите свой баннер внутри RelativeLayout и использовать android:layout_alignParentBottom="true"
Проверьте решение в: /questions/29947755/kak-sdelat-tak-chtobyi-obyavlenie-pokazyivalos-vnizu-ekrana-bez-nalozheniya/29947765#29947765

Это потому что LinearLayout с идентификатором layout_body уже занимает весь экран. Итак RelativeLayout с идентификатором layout_banner некуда идти, кроме как за пределами экрана.

Вместо этого вы можете попробовать следующее:

  1. Изменить RelativeLayout в LinearLayout
  2. + Изменить layout_body а также layout_banner"s layout_height в warp_content
  3. добавлять layout_weight="1" в layout_body

Это должно заархивировать ваше требование.

Если вы хотите сохранить ваш вид в линейном макете, вы можете добавить пустой вид, который заполняет пробел с атрибутом 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>
Другие вопросы по тегам