Java AdView不再有地心引力了?
刚刚更新到新的Android SDK版本22.3,支持Android 4.4。之后,我看到AdView不再有Java AdView不再有地心引力了?,java,android,admob,Java,Android,Admob,刚刚更新到新的Android SDK版本22.3,支持Android 4.4。之后,我看到AdView不再有setGravity方法 我需要这个,因为我正在制作Unity3D插件,不能使用XML标记 编辑:我正在尝试将AdView与左下角、中下角、左上角等对齐。。。因此,任何其他方法都会有所帮助,因为Android上的Java不是我使用的典型环境。我找到了解决方案。我以前依靠的是重力法。为了得到同样的东西,我这样做: /// Create a AdView AdView myAdView = n
setGravity
方法
我需要这个,因为我正在制作Unity3D插件,不能使用XML标记
编辑:我正在尝试将AdView与左下角、中下角、左上角等对齐。。。因此,任何其他方法都会有所帮助,因为Android上的Java不是我使用的典型环境。我找到了解决方案。我以前依靠的是重力法。为了得到同样的东西,我这样做:
/// 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));
///创建一个AdView
AdView myAdView=新AdView(我的活动);
myAdView.setAdUnitId();
myAdView.setAdSize(AdSize.SMART_BANNER);
///设置初始帧
FrameLayout.LayoutParams initialFrm=新建FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_内容,
FrameLayout.LayoutParams.WRAP_内容,
重心(水平|重心。顶部);
MY_ACTIVITY.addContentView(myAdView,initialFrm);
/// ....
///现在,每当我想将其放置在底部时,我都会这样做:
myAdView.setLayoutParams(新的FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_内容,
FrameLayout.LayoutParams.WRAP_内容,
重心(水平(重心,底部));
///要将其放回顶部,请执行以下操作:
myAdView.setLayoutParams(新的FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_内容,
FrameLayout.LayoutParams.WRAP_内容,
重心(水平方向(重心,顶部));
这与ADT和/或Android 4.4无关,而是与最新版本的更新有关。这样,AdView
就不再扩展RelativeLayout
(它提供了setGravity()
方法)。取而代之的是,它直接扩展了ViewGroup
,这意味着您在这里运气不好,不管您是用代码还是xml做事情。。。也许你可以详细说明一下你想要实现的目标?有些代码的模拟/草图效果可能会有所帮助。@MH。我正在尝试将AdView与BottomLeft、BottomCenter、TopLeft等对齐…如果您试图在版面中定位AdView
(而不是将内容定位在AdView
)中,那么您应该在AdView
的父/版面参数上设置它,不是AdView
本身。我也有同样的问题,你找到解决方案了吗?基本上,使用FrameLayout,因为你可以为它设置重力标志。Tnx,我稍后会尝试一下。我暂时搬回了旧的AdMob。但计划很快更新。