如何为Android动态壁纸创建设置活动

Fin*_*sse 10 java settings android live-wallpaper android-activity

如何在这样的动态壁纸中创建设置活动?

示例图片

我只使用简单的文本构建了设置活动,并遇到了一些问题.第一个问题是我无法使用布局XML文件进行此活动.第二种:drawable/ic_menu_more当我尝试构建该活动时,我无法将目录设置为系统图标().另外我需要使用SeekBar.

我会很高兴,如果你帮助我=)

Moh*_*rma 8

使用系统图标:

<service android:name="com.livewallpaper.warm.LiveWallpaper"
            android:label="@string/app_name"
            android:icon="@drawable/ic_menu_more">

            <intent-filter>
                <action android:name="android.service.wallpaper.WallpaperService" />
            </intent-filter>
            <meta-data android:name="android.service.wallpaper"
                android:resource="@xml/livewallpaper" />

        </service>
Run Code Online (Sandbox Code Playgroud)

在XML-livewallpaper.xml中:

<?xml version="1.0" encoding="utf-8"?>
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"
    android:settingsActivity="com.livewallpaper.warm.LiveWallpaperSettings"
    android:thumbnail="@drawable/ic_menu_more"/>
Run Code Online (Sandbox Code Playgroud)


Try*_*ain 1

Android 开发网站上的 LiveWallpaper 示例(现已缓存)正是如此: http://web.archive.org/web/20111229075658/http ://developer.android.com/resources/samples/CubeLiveWallpaper/index.html

更具体地说: http: //web.archive.org/web/20120104043512/http ://developer.android.com/resources/samples/CubeLiveWallpaper/src/com/example/android/livecubes/cube2/CubeWallpaper2Settings.html

简而言之:

public class CubeWallpaper2Settings extends PreferenceActivity
implements SharedPreferences.OnSharedPreferenceChangeListener {

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    getPreferenceManager().setSharedPreferencesName(
            CubeWallpaper2.SHARED_PREFS_NAME);
    addPreferencesFromResource(R.xml.cube2_settings);
    getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(
            this);
}

@Override
protected void onResume() {
    super.onResume();
}

@Override
protected void onDestroy() {
    getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(
            this);
    super.onDestroy();
}

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
        String key) {
}
}
Run Code Online (Sandbox Code Playgroud)