如何在方向更改时保留PublisherAdView?

时间:2014-06-02 21:53:14

标签: android android-layout android-fragments ads android-orientation

我使用PublisherAdView在我的应用中显示横幅广告。当应用程序启动时,我创建PublisherAdView,将其添加到布局,并请求广告。我想显示在更改方向后已请求的相同广告。目前,PublisherAdView会在方向更改时被销毁并重新创建,因此我丢失了所请求的广告。

以下是我在片段中创建PublisherAdView的方法:

PublisherAdView banner_ad_view = new PublisherAdView(getActivity());
banner_ad_view.setAdUnitId(ad_unit_id);
banner_ad_view.setAdSizes(new AdSize(ad_width, ad_height));

以下是我如何将PublisherAdView添加到我的片段布局中:

int id = R.id.fragment_banner_ad_container;
RelativeLayout ad_container = (RelativeLayout) fragment_view.findViewById(id);
ad_container.addView(banner_ad_view);

以下是我如何将广告加载到PublisherAdView中(使用PublisherAdRequest):

banner_ad_view.loadAd(ad_request);

我一直在努力避免使用android:configChanges,因为我根据方向管理了不同的资源。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

在您想要的活动中的Android清单上

android:configChanges="orientation|screenSize|keyboardHidden" >

并在主要活动中:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    // Checks the orientation of the screen
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
    }
}

这对我有用