如何将突发广告移动到Android的屏幕中心?

时间:2013-07-08 17:51:56

标签: android unity3d burstly

MainActivity正在扩展UnityPlayerActivity。

我们使用以下代码段在Android上放置横幅广告。

        FrameLayout layout1 = new FrameLayout(this);
        BurstlyAnimatedBanner levelUpBanner  = new BurstlyAnimatedBanner( this, layout1, new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT), "0455184989016204562", "Level_Up_Screen", 30, false);
        LayoutParams lp1 = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
        addContentView(layout1,lp1);

这样做会在屏幕的左上角显示广告。我需要屏幕顶部中心的广告。我尝试使用layout1.setForegroundGravity(Gravity.CENTER);但这没有帮助。我怎样才能达到我的需要?另外,我需要以编程方式执行此操作,并且不能使用和xml。

1 个答案:

答案 0 :(得分:0)

我是github.com/Burstly/BurstlyUnityPlugin上Burstly Unity插件的开发者。

您可以通过将横幅广告添加到RelativeLayout而不是FrameLayout来居中横幅广告:正如我们在插件中所做的那样:

mBaseLayout = new RelativeLayout(mActivity);
mBaseLayout.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
mActivity.addContentView(mBaseLayout, new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
lp.topMargin = (int)originY;
lp.leftMargin = (int)originX;
burstlyView.setLayoutParams(lp);

mBaseLayout.addView(burstlyView);

有了这个,您可以随意定位横幅。如果您希望将其置于顶部中心,则需要将lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT)更改为lp.addRule(RelativeLayout.CENTER_HORIZONTAL)