Ich bin sehr neu in Android (wie 2 Tage), aber ich habe Erfahrung mit anderen Layout-Toolkits. Ich versuche, ein AdView unterhalb eines TabHosts zu platzieren, und es scheint, dass ich entweder das TabWidget oder das AdView korrekt anzeigen kann, aber nie beides.Wie kann ich einen TabHost mit einem MapView umbrechen, der darunter auch eine AdMob-Ansicht anzeigt?
Zunächst ist hier eine ASCII-Art-Version von dem, was ich zu erreichen bin versucht:
-------------------------------------------- | Tab 1 | Tab 2 | -------------------------------------------- | MapView when tab 1 is selected | | | | | | | | | | | | | -------------------------------------------- | AdView that stays no matter what tab | --------------------------------------------
Wie Sie sehen können, ich versuche, die AdView außerhalb die TabWidget oder FrameLayout zu bekommen. Ich möchte, dass es unterhalb des gesamten Tabhost-Inhalts liegt.
Hier ist das Layout ich vor haben Zugabe des 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>
Jetzt habe ich versucht, ein paar verschiedene Spitzen der AdView hinzugefügt, wie http://www.spencerelliott.ca/blogs/blog-android-menu zu bekommen. Hier ist das beste Layout kam ich mit:
<?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>
Leider ist in diesen eine, mein MapView in dem ersten Registerkarte legt die Zoom-Steuerelemente auf dem AdView. Gibt es ein einfaches Layout, das ich vermisse? Cuz ich kann das TabWidget zu wrap_content für Höhe oder das AdView zu wrap_content für Höhe, aber nur wenn sie über die "@android: id/tabcontent."
Alles unterhalb des Tab-Inhalts wird von MapView aufgefressen.
Dank