与萤火虫动态壁纸(http://www.livewallpapers.org/fireflies-free-1543/)一样,我不知道如何在预览屏幕(而非设置屏幕)中放置广告横幅。
其他信息:当我在Android 2.2.1上的HTC上安装Fireflies壁纸时,横幅显示在预览和设置屏幕上,但在我的另外两个索尼爱立信(2.3.3)上我只能看到设置屏幕中的横幅。这与索尼爱立信或Android版本有关吗?
谢谢。
P.S我确实看过这个链接,但没有找到我的问题的答案:
How do I put an admob adview in the settings screen for a live wallpaper?
答案 0 :(得分:0)
创建一个新类AdPreference.java并包含以下代码:
public class AdPreference extends Preference {
public AdPreference(Context context, AttributeSet attrs, int defStyle) {super (context, attrs, defStyle);}
public AdPreference(Context context, AttributeSet attrs) {super(context, attrs);}
public AdPreference(Context context) {super(context);}
@Override
protected View onCreateView(ViewGroup parent) {
// this will create the linear layout defined in ads_layout.xml
View view = super.onCreateView(parent);
// the context is a PreferenceActivity
Activity activity = (Activity)getContext();
// Create the adView
AdView adView = new AdView(activity, AdSize.BANNER, "YOUR_ADMOB_ID_HERE");
((LinearLayout)view).addView(adView);
// Initiate a generic request to load it with an ad
AdRequest request = new AdRequest();
adView.loadAd(request);
return view;
}
}
在您的res / layout文件夹中,创建一个标题为ad_layout.xml的新xml布局必须准确。然后包含以下代码:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
然后在你的“设置”中,xml在xmlns行之后添加:
<com.yourpackagename.AdPreference android:layout="@layout/ad_layout"/>
在AndroidManifest.xml中添加此内容
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
<meta-data android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" android:value="false" />
还要在清单中添加:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
就是这样。它会完美运作。