ScrollView移动了AdMob广告

时间:2011-06-01 21:49:19

标签: android android-layout

在我的广告工作正常并始终位于屏幕底部之前,我现在添加了一个滚动视图,广告向上移动了一点,直到我的滚动条下方。

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/pattern_carbon_fiber_dark">

<ScrollView android:id="@+id/ScrollView01"
android:layout_width="wrap_content" android:layout_height="339px">

<LinearLayout android:id="@+id/LinearLayout02"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical">

<TextView android:text="Silent Mode" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/silent_textview"></TextView>
<ToggleButton android:layout_height="wrap_content" android:text="Silent Mode" android:id="@+id/silentbutton" android:layout_width="wrap_content" android:textOff="OFF" android:textOn="ON"></ToggleButton>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wifi " android:id="@+id/wifi_textview"></TextView>
<ToggleButton android:layout_width="wrap_content" android:text="ToggleButton" android:layout_height="wrap_content" android:id="@+id/wifibutton"></ToggleButton>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/gps" android:id="@+id/gps_textview"></TextView>
<Button android:text="@string/gpsbutton" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/gps"></Button>
<TextView android:layout_width="wrap_content" android:text="@string/bluetooth" android:layout_height="wrap_content" android:id="@+id/bluetooth_textview"></TextView>
<ToggleButton android:layout_width="wrap_content" android:text="ToggleButton" android:id="@+id/bluetooth" android:layout_height="wrap_content"></ToggleButton>
<TextView android:text="@string/brightness" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/screenbrightness_textview"></TextView>
<SeekBar android:layout_height="wrap_content" android:id="@+id/SbBar" android:layout_width="fill_parent" android:max="255"></SeekBar>          

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="wrap_content" android:layout_width="wrap_content">

<com.google.ads.AdView
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:id="@+id/adView"
android:layout_width="fill_parent" 
ads:adSize="BANNER"
ads:adUnitId="a14ddb1a61b9fb4"
ads:loadAdOnCreate="true"
android:visibility="visible"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="false">
</com.google.ads.AdView>

 </RelativeLayout>
 </LinearLayout>
 </ScrollView>
 </LinearLayout> 

请帮助,谢谢!

编辑:图片

UI pic http://img52.imageshack.us/img52/9397/unledyv.png

3 个答案:

答案 0 :(得分:3)

1)您可能会将广告留在scollview之外,以便始终可见(而不是滚出屏幕)

2)围绕广告的相对布局的目的是什么?这是其中唯一的视图:只需删除它,您将获得相同的布局,但性能会更好。

根据更新,我建议您尝试此布局(您需要填写许多空白):

<RelativeLayout
...
>
<AdView
android:id="@+id/adView"
android:layout_alignParentBottom="true"
...
/>
<ScrollView
android:layout_alignParentTop="true"
android:layout_above="@id/adView"
...
>
<LinearLayout
...
>
...
...
</LinearLayout>
</ScrollView>
</RelativeLayout>

基本想法是使用RelativeLayout将AdView广告放在屏幕底部,然后将ScollView设置为放置在广告上方(因此不会阻止它们)并对齐到屏幕顶部。< / p>

答案 1 :(得分:1)

为什么不尝试使用相对布局作为根布局。

<RelativeLayout>
<LinearLayout
android:layout_alignParentTop="true">
ETC
</LinearLayout>
<com.google.ads.AdView
android:layout_alignParentBottom="true">
</com.google.ads.AdView>
</RelativeLayout>

答案 2 :(得分:0)

为了改善用户体验,我们可以将广告移到ScrollView外部,并使用RelativeLayout将广告固定到屏幕底部。这是所需的XML标记:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ScrollView android:id="@+id/scrollLayout"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_above="@+id/adView">
        <LinearLayout android:layout_height="fill_parent"
            android:layout_width="fill_parent">
            <TextView android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="Place very long string here..."/>
        </LinearLayout>
    </ScrollView>
    <com.google.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        ads:adUnitId="INSERT_YOUR_AD_UNIT_ID_HERE"
        ads:adSize="BANNER"
        ads:testDevices="TEST_EMULATOR"
        ads:loadAdOnCreate="true"/>
</RelativeLayout>