本篇实现一个有意思的玩意儿,视频壁纸,相机壁纸
这玩意好像现在还都是国外版本,哈哈
先上图:
视频壁纸
相机壁纸
1.动态壁纸制作的知识:
每一个动态壁纸都继承自WallpaperService,其中必须实现的抽象方法onCreateEngine,返回一个Engine对象,实际上所有的绘图与刷新都是由engine完成。如下
public class VideoLiveWallpaper extends WallpaperService {
// 实现WallpaperService必须实现的抽象方法
public Engine onCreateEngine() {
return new VideoEngine();
}
class VideoEngine extends Engine {
@Override
public void onCreate(SurfaceHolder surfaceHolder) {
super.onCreate(surfaceHolder);
// 设置处理触摸事件
setTouchEventsEnabled(true);
}
}
}
必须在清单文件中进行一些配置,比如:
<!-- 配置动态壁纸Service -->
<service android:label="@string/app_name"
android:name=".LiveWallpaper"
android:permission="android.permission.BIND_WALLPAPER">
<!-- 为动态壁纸配置intent-filter -->
<intent-filter>
<action android:name="android.service.wallpaper.WallpaperService" />
</intent-filter>
<!-- 为动态壁纸配置meta-data -->
<meta-data android:name="android.service.wallpaper"
android:resource="@xml/livewallpaper" />
</service>
比较重要的部分首先是权限android:permission=”android.permission.BIND_WALLPAPER”;
其次service需要响应action:android:name=”android.service.wallpaper.WallpaperService;
接下来接收配置文件。首先在res文件夹下建立一个xml目录,和写appwidget一样。在目录下我们创建一个xml文件:
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="LiveWallPreference"
android:thumbnail=