Für diejenigen fragen, wie dies zu implementieren mit einem PreferenceFragment
, hier ist eine Lösung, gibt es keine Notwendigkeit, eine benutzerdefinierte Preference
zu erstellen:
erstellen Sie zunächst ein neues Layout (hier namens settings.xml im Layout Ressourcen-Ordner), die im PreferenceFragment
aufgeblasen wird:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adUnitId="XXXXX"
ads:adSize="SMART_BANNER"
android:layout_alignParentTop="true" />
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/adview" />
</RelativeLayout>
Verwenden Sie dann dieses Layout in den PreferenceFragment
, es in der onCreateView
Methode laden:
private AdView adView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.settings, null);
adView = (AdView)v.findViewById(R.id.adview);
//** Adview */
if(Tools.isNetworkConnected(getActivity())){
adView.setVisibility(View.VISIBLE);
}
else{
adView.setVisibility(View.GONE);
}
//Create ad banner request
AdRequest adBannerRequest = new AdRequest.Builder()
// .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
// .addTestDevice("XXXXX")
.build();
// Begin loading banner
adView.loadAd(adBannerRequest);
return v;
}
Vergessen Sie nicht, den folgenden Code für die neue Version von AdMob mit Google Play-Dienste hinzufügen:
@Override
public void onResume() {
super.onResume();
if(adView != null){
adView.resume();
}
}
@Override
public void onPause() {
if(adView != null){
adView.pause();
}
super.onPause();
}
@Override
public void onDestroy() {
if(adView != null){
adView.destroy();
}
super.onDestroy();
}
Es sieht so aus, als würde die Anzeige mit dem Rest der Liste der Einstellungen scrollen. – pmont