导航:首页 > 操作系统 > android动态壁纸

android动态壁纸

发布时间:2022-01-26 12:07:15

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

对于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. {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
getPreferenceManager().setSharedPreferencesName(
LiveWallpaper.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.livewallpaper_settings);
getPreferenceManager().getSharedPreferences()
.register(this);
}

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

@Override
protected void onDestroy() {
getPreferenceManager().getSharedPreferences()
.unregister(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>

转载

‘贰’ 如何实现 Android 动态壁纸效果



Intent intent = new Intent(

WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);

intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,

new ComponentName(this, MyWallpaperService.class));

startActivity(intent);

}

动态壁纸应用实际上和其他应用是很相似的。下面我们一步一步来学习怎么创建一款动态壁纸应用。最终的实现效果如下:

代码示例
创建一个新的Project,可以选择不要Activity。但是为了让用户直接跳转到壁纸设置页面,我们创建了一个MainActivity。让用户能够对我们提供的壁纸进行设置,我们再创建一个SettingActivity。
在/res/xml文件夹下创建normal_wallpaper.xml,当然名字可以自取。包含如下内容。注意android:settingsActivity的值,是刚才创建的SettingActivity的包名,可能你需要修改。
<?xml version="1.0" encoding="utf-8"?>

<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"

android:description="@string/normal_wallpaper_des"

android:settingsActivity="com.yalin.wallpaper.demo.SettingActivity"

android:thumbnail="@drawable/ic_launcher_round" />

这个文件包含了壁纸的描述和图标,同时包含一个设置页面(设置页面是可选的)。
这个文件会在AndroidManifest.xml中用到。
创建一个NormalWallpaperService类,暂时不用实现里面的方法。
public class NormalWallpaperService extends WallpaperService {

@Override

public Engine onCreateEngine() {

return null;

}

}

同时在AndroidManifest.xml中声明它。meta-data中的resource指定上面创建的XML文件。
<service

android:name=".normal.NormalWallpaperService"

android:enabled="true"

android:label="@string/wallpaper"

android:permission="android.permission.BIND_WALLPAPER">

<intent-filter android:priority="1">

<action android:name="android.service.wallpaper.WallpaperService" />

</intent-filter>

<meta-data

android:name="android.service.wallpaper"

android:resource="@xml/normal_wallpaper" />

</service>

我们还必须在AndroidManifest.xml中增加下面的代码:
<uses-feature

android:name="android.software.live_wallpaper"

android:required="true" >

</uses-feature>

到此我们的基本配置已经OK了。

‘叁’ android动态壁纸怎么实现的,就好比android手机的那个鱼会游动的桌面,是一个软件还是壁纸效果。

在菜单-壁纸-动态壁纸

‘肆’ android 动态壁纸 怎么设置

2.1及以下系统不支持动态壁纸,2.2系统听说有一种支持动态的google
map,也就是说现在对动态壁纸还不支持。

‘伍’ android 怎么获取手机桌面上的动态壁纸的

WallpaperManager wm = WallpaperManager.getInstance(this);
WallpaperInfo wallInfo = wm.getWallpaperInfo();
如果wallInfo != null 说明当前系统使用的是动态壁纸,你可以在那个wallInfo里面获得到你想要的信息,但是要设置动态壁纸的话是需要一定权限的,有点麻烦,希望对你有帮助。

‘陆’ 安卓动态壁纸下载的动态壁纸被放置在哪里找不到动态壁纸文件夹

是apk格式的,安装后后就可以在动态壁纸里面看到

‘柒’ 安卓如何设置动态壁纸

在安卓专区美化分类里下动态壁纸
按住主屏幕下动.
出现几个选项.
选壁纸~动态壁纸.
然后选你下载了的动态壁纸按设置壁纸就OK.
只有安卓2.1的才可以哦.
谢谢采纳

‘捌’ android动态壁纸可以删除吗

按住您要删除(如:有道词典和天气)的图标不放,并将其拖到立即删除垃圾面积; 另外,您可能需要关闭意外动态壁纸壁纸,因为在启动大量的运行内存和XT300的RAM不够高,要打开动态壁纸的稳定运行,然后运行相当权力,所以不建议使用动态壁纸的。

‘玖’ 安卓怎么设置动态壁纸

按住主屏空白处不要放,选择相应的壁纸即可,首先确认你的手机支持动态壁纸,在确认你的手机内有动态壁纸,实在不会的话就去豌豆荚下载个壁纸软件,一键搞定

阅读全文

与android动态壁纸相关的资料

热点内容
android如何新建activity 浏览:737
ntp支持的认证算法 浏览:710
想做快手主播需要什么app 浏览:921
阿里云服务器如何转账户 浏览:901
编译器和解释器实现技术完全不同 浏览:429
虐杀原形汉化补丁怎么解压 浏览:643
文件夹验证失败 浏览:635
python是用什么软件编程 浏览:246
java并发编程教程 浏览:319
江铃宝典空调压缩机工作时间过短 浏览:634
自制单片机玩具车 浏览:901
stm32单片机模块电源电压 浏览:187
pdf层次 浏览:735
电脑里找不到编译器 浏览:843
明茨伯格pdf 浏览:442
把网页存成pdf 浏览:267
如何对电脑的d盘加密 浏览:100
刀片式服务器怎么连接电脑 浏览:82
矩阵计算java 浏览:235
如何把各银行app整合 浏览:881