【问题标题】:admob ads overlapping textviewadmob 广告重叠 textview
【发布时间】:2014-09-19 21:59:43
【问题描述】:

我正在尝试将 Admob 横幅(在顶部)添加到主要活动(我的主应用程序屏幕),但我遇到了一个小问题,即 admob 广告与文本视图重叠

这是我的主要活动 xml 代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"    
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/adView"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_top_margin"
    
    tools:context="${relativePackage}.${activityClass}" >
    <com.google.android.gms.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="ca-app-pub-xxxxxxxxx/xxxxxx"
                         ads:adSize="BANNER"/>

    <LinearLayout
        android:id="@+id/linearLayoutHeader"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        
        <!--  First header line -->
        <TextView android:id="@+id/header_priority"
            android:layout_width="31dp"
            android:layout_height="wrap_content"
            android:textColor="#00F"
            android:gravity="center"
            android:textSize="@dimen/font_size_tiny"
            android:text="@string/pri_label"
            />
        
        <!--  First header line -->
        <TextView android:id="@+id/header_item"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#00F"
            android:textSize="@dimen/font_size_tiny"
            android:text="@string/desc_label"
            />
    
    </LinearLayout>

    <ListView
        android:id="@+id/lvItems"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/llPriority"
        android:layout_below="@+id/linearLayoutHeader" >

    </ListView>

    <LinearLayout
        android:id="@+id/llPriority"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <EditText
            android:id="@+id/etPriority"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:hint="@string/hint_priority"
            android:inputType="number"
            android:text="@string/num_1" />

        <EditText
            android:id="@+id/tvItemText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:ems="10"
            android:hint="@string/add_hint">
            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/btnAdd"
            android:layout_width="85dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:onClick="onClickAddItem"
            android:text="@string/add_button_label" />
    </LinearLayout>
    
</RelativeLayout>

【问题讨论】:

    标签: android android-layout admob


    【解决方案1】:

    是的,RelativeLayout 允许重叠,但是在 RelativeLayout 中,您也可以安排视图元素的对齐方式。只需找出与您的 adview 重叠的视图元素的 id 并将以下属性添加到您的 AdView (我假设它与 linearLayoutHeader 重叠)

     android:layout_above="@+id/linearLayoutHeader" 
    

    您(或从事同一项目的其他人?)实际上已经使用这些属性来安排视图。研究例如以下代码部分;-)

     <ListView
        android:id="@+id/lvItems"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/llPriority"
        android:layout_below="@+id/linearLayoutHeader" >
    
     </ListView>
    

    【讨论】:

    • 不完全是我所做的。但你帮了我很多。谢谢!
    【解决方案2】:

    这是因为根布局是允许重叠的相对布局,您使用的其他布局是用于堆叠控件的线性布局。

    【讨论】:

    • 那我该怎么办?如您所见,我是新手
    • RelativeLayout -> LinearLayout,但是你真的应该搜索Android布局教程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多