0

我在小型应用程序中工作,几乎所有事情都完成并且运行良好,直到我将 AdMob 添加到其中。我将纵向和横向的布局分为两个文件夹:layout 和 layout-land。该布局中使用的值也以相同的方式分隔。问题是添加 AdMob 后屏幕在改变方向时停止旋转。奇怪的是,模拟器中的屏幕,而不是设备中的屏幕,只能从纵向旋转到横向而不会回头。

我将 AdActivity 添加到清单中

    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

AdView 的代码是:

android:id="@+id/ad" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1.5" ads:adSize="SMART_BANNER" ads:adUnitId="ca-app-pub-8671233073481795/9448252969" ads:loadAdOnCreate="true" ads:testDevices="TEST_EMULATOR,TEST_DEVICE_ID_GOES_HERE"

它包含在布局中。

如果我错了,请纠正我,但由于 android:configChanges="keyboard|keyboardHidden|orientation 声明 android 没有保持自己不断变化的方向?所以我必须自己通过重写方法来处理它OnConfigurationChanged,并将所有值和布局从“...-land”文件夹移动到具有唯一名称的布局/值文件夹中?我希望有一种更好的方法来做到这一点,以及一种在不同文件夹中存储横向方向的值和布局的方法。

先感谢您。

更改 AdView 的布局属性无济于事,屏幕仍在从纵向变为横向,反之亦然

问题已解决,模拟器、设备和 android 2.3+ 上的模拟器出现了一些错误,一切正常

4

1 回答 1

0

它只有 AdMob 的 AdActivity 具有 android:configChanges 参数。可能适用于任何全屏广告。对于您的活动 - 以您想要的方式处理它。

您可能还想使用标准广告尺寸,因为您的布局高度似乎有 0dp。我将从“wrap_content”文档中建议的高度和宽度设置开始,看看是否有任何改变。

于 2013-10-30T23:00:27.530 回答