android livewallpaper地球动态壁纸怎么实现的
发布网友
发布时间:2022-03-25 13:24
我来回答
共2个回答
懂视网
时间:2022-03-25 17:45
theme online wallpaper是主题,是在线墙纸的应用,手机主题其特点类似Windows的主题功能,使手机用户通过下载某个自己喜欢的手机主题程序就可以一次设定好相应的待机图片、屏幕保护程序、铃声以及操作界面和图标等内容。
目前比常见的手机主题的类型分为:Symbian6.0系统手机主题、Linux系统手机主题、UIQ系统手机主题、 Smartphone系统手机主题、PPC系统手机主题、索爱手机主题等,根据自己手机型号的不同来选择适合自己的手机主题。用手机上网下载能用的主题只能是.tsk格式。你只需打到你所喜欢的主题,下载时选择下载完成后自动打开,保存在手机内存上,然后在“今日”选择里选择,点击“OK”,稍等一下再退出回到桌面,主题已经安装完成。如果你安装了多个主题,并且需要更换的话,可以在开始菜单里的设置选项里面,选择"今日"选项来切换.
热心网友
时间:2022-03-25 14:53
对于Android 2.1来说Live Wallpapers动态壁纸的加入为Android桌面加入了更好的动态效果。如何开发一个Android动态桌面呢? 下面Android123给大家一个详细的步骤创建属于你自己的Live Wallpaper吧。
1. 首先我使用Eclipse创建一个标准的Android工程这里package name我们使用cn.com.android123.cwj,然后进入工程的/res/文件夹,删除layout这个文件夹,当然里面的main.xml也会被删除的,对于Live Wallpaper来说传统的布局文件是不需要的。
2. 类似AppWidget一样,我们可以加入动态壁纸的设置界面,我们在/res/文件夹中新建一个名为xml的文件夹,新建一个utf8编码的xml文件,名为livewallpaper.xml,内容为
<?xml version="1.0" encoding="utf-8"?>
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="cn.com.android123.cwj.LiveWallpaperSettings"
android:thumbnail="@drawable/icon"/>
这里我们可以看到上面的节点名为wallpaper,而设置的界面为 cn.com.android123.cwj.LiveWallpaperSettings 这个Activity,而在添加动态壁纸时显示图标为/res/drawable/icon 这个文件,同时我们再创建一个xml文件用于LiveWallpaperSettings这个Activity的布局,我们起名为livewallpaper_settings.xml内容为
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/livewallpaper_settings"
android:key="livewallpaper_settings">
<ListPreference
android:key="livewallpaper_testpattern"
android:title="标题"
android:summary="简单描述"
android:entries="@array/livewallpaper_testpattern_names"
android:entryValues="@array/livewallpaper_testpattern_prefix"/>
<CheckBoxPreference android:key="livewallpaper_movement"
android:summary="动态描述"
android:title="动态标题"
android:summaryOn="动态测试"
android:summaryOff="静止测试"/>
</PreferenceScreen>
3. 创建一个名为LiveWallpaper的类作为动态壁纸的主类,从WallpaperService父类继承,这里我们可以像写标准Android服务那样开发
4. 新建类LiveWallpaperSettings从 PreferenceActivity 继承实现我们的设置界面,代码如下
public class LiveWallpaperSettings extends PreferenceActivity implements
SharedPreferences.OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
getPreferenceManager().setSharedPreferencesName(
LiveWallpaper.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.livewallpaper_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) {
}
}
同时仍然在androidmanifest.xml中加入 下面的代码。
<activity android:label="@string/livewallpaper_settings"
android:name=".LiveWallpaperSettings"
android:theme="@android:style/Theme.Light.WallpaperSettings"
android:exported="true"
android:icon="@drawable/icon">
</activity>
5. 由于Android动态壁纸是2.1 API Level为7才加入的,所以设置好minSDK以及需要设备支持动态壁纸,我们在androidmanifest.xml中加入
<uses-sdk android:minSdkVersion="7" />
<uses-feature android:name="android.software.live_wallpaper" />
6. 对于文中ListPreference用到的数组,及代码中涉及的颜色数组,我们在/res/values/ 文件夹中创建一个名为testpatterns.xml 的文件,内容为
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="livewallpaper_testpattern_names">
<item>"Color Bars 16x9"</item>
<item>"Color Bars 4x3"</item>
<item>"EBU Color Bars"</item>
</string-array>
<string-array name="livewallpaper_testpattern_prefix">
<item>"smpte"</item>
<item>"bars"</item>
<item>"ebu"</item>
</string-array>
<integer-array name="smptecolors">
<item>0xFF696969</item>
<item>0xFFC1C1C1</item>
<item>0xFFC1C100</item>
<item>0xFF00C1C1</item>
<item>0xFF00C100</item>
<item>0xFFC100C1</item>
<item>0xFFC10000</item>
<item>0xFF0000C1</item>
<item>0xFF696969</item>
<item>0xFF00FFFF</item>
<item>0xFFFFFF00</item>
<item>0xFF052550</item>
<item>0xFF36056D</item>
<item>0xFF0000FF</item>
<item>0xFFFF0000</item>
<item>0xFFC1C1C1</item>
<item>0xFF2B2B2B</item>
<item>0xFF050505</item>
<item>0xFFFFFFFF</item>
<item>0xFF050505</item>
<item>0xFF000000</item>
<item>0xFF050505</item>
<item>0xFF0A0A0A</item>
<item>0xFF050505</item>
<item>0xFF0D0D0D</item>
<item>0xFF050505</item>
<item>0xFF2b2b2b</item>
</integer-array>
<integer-array name="barscolors">
<item>0xFFC0C0C0</item>
<item>0xFFC0C000</item>
<item>0xFF00C0C0</item>
<item>0xFF00C000</item>
<item>0xFFC000C0</item>
<item>0xFFC00000</item>
<item>0xFF0000C0</item>
<item>0xFF0000C0</item>
<item>0xFF131313</item>
<item>0xFFC000C0</item>
<item>0xFF131313</item>
<item>0xFF00C0C0</item>
<item>0xFF131313</item>
<item>0xFFC0C0C0</item>
<item>0xFF00214C</item>
<item>0xFFFFFFFF</item>
<item>0xFF32006A</item>
<item>0xFF131313</item>
<item>0xFF090909</item>
<item>0xFF131313</item>
<item>0xFF1D1D1D</item>
<item>0xFF131313</item>
</integer-array>
<integer-array name="ebucolors">
<item>0xFFBFBFBF</item>
<item>0xFFBFBF00</item>
<item>0xFF00BFBF</item>
<item>0xFF00BF00</item>
<item>0xFFBF00BF</item>
<item>0xFFBF0000</item>
<item>0xFF0000BF</item>
<item>0xFF000000</item>
</integer-array>
</resources>
转载