Я очень новичок в Android (например, 2 дня), но у меня есть опыт работы с другими инструментами верстки.Я пытаюсь поместить AdView ниже TabHost, и кажется, что я могу заставить TabWidget или AdView отображаться правильно, но никогда не одновременно.
Во-первых, вот художественная версия ASCII того, что я 'Я пытаюсь выполнить:
--------------------------------------------
| Tab 1 | Tab 2 |
--------------------------------------------
| MapView when tab 1 is selected |
| |
| |
| |
| |
| |
| |
--------------------------------------------
| AdView that stays no matter what tab |
--------------------------------------------
Как видите, я пытаюсь получить AdView вне TabWidget или FrameLayout.Я хочу, чтобы он был ниже всего содержимого табуляции.
Вот макет, который у меня есть до при добавлении AdView:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/org.mbs3.android.ufcm"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
>
<TabHost android:id="@+id/tabhost" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/home_layout" android:orientation="vertical"
android:layout_height="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<RelativeLayout android:id="@+id/emptylayout1"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<!--
programatically added tabs will appear here,
one per activity
-->
</FrameLayout>
</LinearLayout>
</TabHost>
</RelativeLayout>
Теперь я попробовал паруразличные советы по добавлению AdView, такие как http://www.spencerelliott.ca/blogs/blog-android-menu. Вот лучший макет, который я придумал:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/org.mbs3.android.ufcm"
android:layout_height="fill_parent" android:layout_width="wrap_content">
<TabHost android:id="@+id/tabhost" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/home_layout" android:orientation="vertical"
android:layout_height="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<RelativeLayout android:id="@+id/emptylayout1"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<!--
programatically added tabs will appear here, usually one per
activity
-->
</FrameLayout>
</LinearLayout>
</TabHost>
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/ad_layout" android:layout_height="wrap_content"
android:gravity="bottom" android:layout_alignParentBottom="true"
android:layout_alignBottom="@+id/home_layout">
<com.admob.android.ads.AdView android:id="@+id/ad"
android:layout_width="fill_parent" android:layout_height="wrap_content"
myapp:backgroundColor="#000000" myapp:primaryTextColor="#FFFFFF"
myapp:secondaryTextColor="#CCCCCC"
myapp:keywords="words" />
</LinearLayout>
</RelativeLayout>
К сожалению, в этом моем MapView на первой вкладке помещаются элементы управления Zoomв верхней части AdView.Есть ли какая-то простая раскладка, которую мне не хватает?Потому что я могу получить TabWidget для wrap_content для высоты или AdView для wrap_content для высоты, но только когда они идут выше «@android: id / tabcontent».
Все, что ниже содержимого вкладки, съедаетсяMapView.
Спасибо