AD加载期间的布局问题

时间:2013-11-27 20:34:45

标签: android android-layout

我在设置布局时遇到了问题。

在加载AD之前,它看起来像这样:

enter image description here

AD加载后,一切都会到达它的位置。它看起来像这样(正确)

enter image description here

有人知道如何解决这个问题吗?并不只是在AD加载时看起来“丑陋”,但也可能永远不会加载AD,布局可以永远保持这种方式(第一张图像)。

有什么建议吗?

我有这种XML布局:

<com.example.touch.TouchImageView android:id="@+id/mytouchview"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp"
    android:layout_above="@+id/relat"
    />

    <RelativeLayout
        android:id="@id/relat"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:layout_above="@+id/myAdView"
         >

         <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentLeft="true" 
        android:background="@null" android:src="@drawable/previous"  android:id="@+id/previous"/>

         <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:text="2/15"
            android:id="@+id/memeNumber" android:layout_centerInParent="true" android:layout_margin="5dp"/>


        <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentRight="true" 
         android:background="@null"  android:src="@drawable/next" android:id="@+id/next"/>


    </RelativeLayout>



<com.csjy.sfwn148282.AdView
    xmlns:ap="http://schemas.android.com/apk/res-auto"
    android:id="@id/myAdView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ap:animation="fade"
    ap:placementType="interstitial"
    ap:banner_type="inappad"
    ap:test_mode="true"
    ap:canShowMR="false"
    android:layout_alignParentBottom="true"
/>

编辑:

@Szymon后答案布局如下所示。没关系,因为加载AD时它是一样的。问题是,现在,按钮丢失..

enter image description here

2 个答案:

答案 0 :(得分:2)

将顶级相对布局更改为线性布局(垂直),然后在三个布局上使用layout_weight。将mytouchview的layout_weight设置为1,将另外两个设置为0.这将为mytouchview提供所有额外空间,并将按钮和广告按到底部。当广告占用空间时,它会适当地按下按钮托盘,但如果广告从未加载,则不会占用任何空间。

答案 1 :(得分:1)

尝试一下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res/example.com">

<LinearLayout
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:layout_above="@+id/myAdView"
    android:orientation="vertical" >


    <com.example.touch.TouchImageView android:id="@+id/mytouchview"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        />

    <RelativeLayout
        android:id="@id/+relat"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
         >

         <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentLeft="true" 
        android:background="@null" android:src="@drawable/previous"  android:id="@+id/previous"/>

         <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:text="2/15"
            android:id="@+id/memeNumber" android:layout_centerInParent="true" android:layout_margin="5dp"/>


        <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentRight="true" 
         android:background="@null"  android:src="@drawable/next" android:id="@+id/next"/>


    </RelativeLayout>

</LinearLayout>

<com.csjy.sfwn148282.AdView
    xmlns:ap="http://schemas.android.com/apk/res-auto"
    android:id="@id/myAdView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ap:animation="fade"
    ap:placementType="interstitial"
    ap:banner_type="inappad"
    ap:test_mode="true"
    ap:canShowMR="false"
    android:layout_alignParentBottom="true"
/>
</RelativeLayout>