我在小型应用程序中工作,几乎所有事情都完成并且运行良好,直到我将 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+ 上的模拟器出现了一些错误,一切正常