问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 怎么让live wallpaper动态壁纸运行起来

发布网友 发布时间:2022-03-25 13:24

我来回答

1个回答

热心网友 时间: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>

  转载
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陈八两面馆的什么面最好吃? 杭州湾跨海大桥可以骑行吗 杭州湾跨海大桥上能骑车吗? ...不知道可不可以骑自行车,又需要做哪些准备,谢谢各位资深人士了... 激光祛痘坑的效果如何? 口述:3个闺密分享1个“软饭男” 骚气文案暗示-推荐65句 三个男人怎么晒朋友圈 任钊的介绍 请问德阳青依江路口到德阳中级人民法院坐几路公交车 有什么软件可以自制桌面,皮肤,背景等 急!用什么软件可以制作主题? 下载桌面主题的时候出现的是文本文档是怎么回事 有什么好的制作主题的软件 电脑主题应该怎么用?? 下载的主题怎么用 请问从网上下载的windows主题怎么用啊?? android livewallpaper地球动态壁纸怎么实现的 themewallpaper这个软件可以卸载么? Themewallpaper是什么东西呀 themeonlinewallpaper可以卸载吗? themeonlinewallpaper是什么? 苹果手机怎么和苹果平板连接蓝牙? 苹果无线蓝牙耳机怎么设置 苹果手机蓝牙设置所有人可见 苹果手机蓝牙权限设置在哪里 如何将手机蓝牙设置为“所有人可见”? 怎样把手机蓝牙设为所有人可见? 苹果手机怎么把蓝牙连接设置成可见? 苹果8p手机蓝牙怎么设置所有人可见 索尼Z3哪些系统软件可以删除 主题是什么? 为什么我下载的windows主题一应用,windows窗口和按钮就变成了经典样式? 如何自制Windows xp主题 vivo 有没有5G手机啊,想买个.... viVO有5G手机吗? vivo5G手机有哪些? vivo 5G手机有哪些? vivoy9s是5g手机吗 ViVO有5G手机吗? vivo哪款5g手机性价比高 现在的vivo有没有支持5G网络的 vivo5g手机有哪几款价格多少 VIVO 的X70Pro+支持5G吗? vivo IQOO z1 是5g手机吗 能支持5G网络ma? ViVo最新款是5G的吗? vivo一款5G新机曝光&#160;,171.3克的手机用起来什么感觉? 为什么Vivo手机,全是5G网络机型,而华为了5G机型好少? vivo最便宜的5g手机是哪一款 那个vivo 5G?