【发布时间】:2019-01-11 04:06:28
【问题描述】:
我们在 Android 应用上使用 AdMob 已有 4 年多了。 最近几天,我们在没有修改任何代码的情况下遇到了 AdMob 问题。
如下图所示:
- 以前,横幅空间是在加载横幅之前保留的
- 现在,横幅空间在加载前没有保留,这给用户带来了非常烦人的体验,他们在横幅加载后看到内容向下移动
===
这里是我们的实现的描述:
我们将横幅放置在片段屏幕顶部约 20% 的位置,在 LinearLayout“banner_container”内
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
....
<LinearLayout android:id="@+id/banner_container"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
....
</LinearLayout>
在 Fragment 的“onCreateView”上,我们将横幅添加到容器中
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
adView = new AdView(getActivity());
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);
LinearLayout mBannerContainer = rootView.findViewById(R.id.banner_container);
mBannerContainer.setVisibility(View.VISIBLE);
mBannerContainer.addView(adView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .build();
adView.loadAd(adRequest);
...
}
===
我们如何才能恢复到加载时已经保留横幅空间的情况?
【问题讨论】:
-
为什么在加载布局时使用可见性来“消失”。相反,你可以使用不可见的banner_container
-
嗨@DharakBhatt,原因是高级用户默认为
gone。但是,我只是尝试在 xml 布局中将其更改为visible,但同样的情况发生了(考虑在 onCreateView 中将其设置为visibile)。我认为这取决于layout_height,即wrap_content。出于某种原因,以前 AdMob 甚至在横幅加载之前就设置了横幅的高度,而现在则没有。 -
@DanieleB 你有没有想过这件事?这导致我因意外点击而受到处罚。
-
嗨@Steve M,除了手动预设线性布局的高度外,我找不到解决方案
标签: android admob fragment android-linearlayout