如何在偏好片段上方放置AdView?

时间:2015-03-14 23:04:44

标签: android layout fragment adview banner-ads

我有一个设置活动,其中包含首选项片段。我想在此片段上方放置一个adView(横幅广告)。

到目前为止,我设法显示了广告横幅,但横幅显示在片段后面(我的片段具有透明背景,所以我看到了广告,但它被偏好片段文本覆盖)。

如何将广告横幅放在片段前?任何帮助都非常感谢!谢谢。

这是我在设置活动中的代码:

public class Settings extends Activity  {

public static PrefsFragment mPrefsFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);       

    setContentView(R.layout.settings_layout);

    if (savedInstanceState == null) {
        mPrefsFragment = new PrefsFragment();
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.add(android.R.id.content, mPrefsFragment).commit();
    }

}

@Override
public void onResume() {

    super.onResume();

    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().addTestDevice("1234").build();
    mAdView.loadAd(adRequest);

}

[......]

}

我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >


    <com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

1 个答案:

答案 0 :(得分:1)

在欢迎使用偏好的片段中,您可以执行以下操作。

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    LinearLayout v = (LinearLayout) super.onCreateView(inflater, container, savedInstanceState);
    AdView adView = new AdView(getContext());
    adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
    adView.setAdSize(AdSize.BANNER);


    AdRequest request1 = new AdRequest.Builder().build();
    adView.loadAd(request1);
    v.addView(adView);
    return v;
}