展示广告横幅后如何推动布局?

时间:2014-07-31 23:23:24

标签: android admob screen-size adjustment

我的相对布局包含:

  1. adView,它在父版面的底部对齐。另一
  2. 包含按钮等应用视图的相对布局。
  3. 众所周知,广告有时无法使用或无法关闭,因此在广告不可用时将广告视图空间留空是不明智的。因此,我希望内部相对布局在广告横幅出现时自动向上移动。 我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

我为解决这个问题所做的是将adview嵌入到一个空的线性布局中,AdView默认为可见性:已消失。我在AdView中添加了一个AdListener,并将可见性设置为"可见"在AdListener中的onAdLoaded方法中。

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

        <AdView android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ads:adSize="SMART_BANNER"
            android:visibility="gone"/>

    </LinearLayout>

然后

    adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
            adView.setVisibility(View.VISIBLE);
        }
    });

答案 1 :(得分:0)

我建议将RelativeLayout嵌入LinearLayout中,将LinearLayout方向设置为垂直,如:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <!-- Your Ad view -->

    <RelativeLayout ....>
           <!-- items -->
    </RelativeLayout>

</LinearLayout>

如果您在代码中将广告视图设置为View.GONE,则LinearLayout中的展示位置将被取代,并且以下内容(RelativeLayout)将向上移动。

答案 2 :(得分:0)

为什么这么说&#34;在广告不可用时将广告视频空间留空是不明智的?&#34;

这样做绝对没有错,让它可见通常可以让你的布局更容易管理。

但是,如果确实想要在没有可用广告时隐藏它,请使用AdListener方法设置AdView的可见性。