刚刚更新到支持 Android 4.4 的新 Android SDK Rev 22.3。之后我看到 AdView 没有setGravity
方法了。
我需要这个,因为我正在制作 Unity3D 插件并且不能使用 XML 标记。
编辑:我正在尝试将 AdView 与 BottomLeft、BottomCenter、TopLeft 等对齐...所以任何其他方式都会有所帮助,因为 Android 上的 Java 不是我使用的典型环境。
我找到了解决方案。我以前依靠 setGravity 方法。为了得到同样的东西,我这样做:
/// Create a AdView
AdView myAdView = new AdView(MY_ACTIVITY);
myAdView.setAdUnitId(<ADMOB ID>);
myAdView.setAdSize(AdSize.SMART_BANNER);
/// Set the initial frame
FrameLayout.LayoutParams initialFrm = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_HORIZONTAL | Gravity.TOP);
MY_ACTIVITY.addContentView(myAdView, initialFrm);
/// ....
/// Now whenever I want to position it on the bottom I do this:
myAdView.setLayoutParams(new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM));
/// To put it back on the top, do this:
myAdView.setLayoutParams(new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_HORIZONTAL | Gravity.TOP));