【问题标题】:How do I set ad banner at top in landscape and at bottom in portrait?如何将广告横幅设置为横向顶部和纵向底部?
【发布时间】:2015-12-14 13:54:03
【问题描述】:

我想在应用处于纵向模式时在屏幕底部显示我的 AdMob 横幅,而在应用处于横向模式时在屏幕顶部显示。那么如何将这些添加到我的应用中呢?

目前我正在使用单独的布局(layout-portlayout-land

【问题讨论】:

  • 发送请求以根据方向显示 admob,在服务器上设置 2 个不同的 admob(横向和纵向)并相应地调用每个?
  • 您是否有两个独立的布局并需要 (xml-) 代码?或者确实有两个布局的解决方案并想要(Java-)代码?

标签: android admob banner-ads


【解决方案1】:

您为什么不尝试识别屏幕方向。每当屏幕发生变化时,它都会重新创建活动,您可以通过休闲方法获得屏幕方向

int orientation=this.getResources().getConfiguration().orientation;
if(orientation==Configuration.ORIENTATION_PORTRAIT){
   //code for portrait mode
}
else{
    //code for landscape mode
}

尝试以编程方式添加您的布局。如果您使用的是相对布局,则可以像这样使用 addRule

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, height);
lp.addRule(RelativeLayout.BELOW, lastId);   

您可以根据需要添加规则。以上是添加规则的方法。同样有一种方法可以删除规则

params.removeRule(RelativeLayout.BELOW);

或者,如果您愿意,可以根据需要在条件下扩充新布局。 希望这会有所帮助!

【讨论】:

    【解决方案2】:

    至少有两种方法。

    基于 XML(recommended in many casesalso by @CommonsWare)。

    Something like

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        app:adSize="BANNER"
        app:adUnitId="a1512f50d8c3692"
        app:loadAdOnCreate="true"
        app:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" >
    </com.google.ads.AdView>
    

    这应该通过android:layout_alignParentBottom="true"android:layout_alignParentLeft="true" 将其添加到底部。如果您希望它位于顶部,请尝试使用android:layout_alignParentTop

    您可能需要对此进行一些调整(想到adUnitId)。 然后,在代码中填写something like

    AdView adView = (AdView) findViewById(R.id.adView);
    adView.loadAd(new AdRequest());
    

    基于代码

    如果您真的想以艰难的方式做到这一点,@ashutiwari4's answer 乍一看还不错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-06
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多