package com.example.android.livewallpapertouch;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Bundle;
import android.service.wallpaper.WallpaperService;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
public class TouchLiveWallpaper extends WallpaperService {
//创建
@Override
public void onCreate() {
super.onCreate();
}
//销毁
@Override
public void onDestroy() {
super.onDestroy();
}
//实例化引擎
@Override
public Engine onCreateEngine() {
return new WallpaperEngine(getResources());
}
//WallpaperEngine引擎
public class WallpaperEngine extends Engine {
//private final Handler handler=new Handler();
private Bitmap image; //Image
private Bitmap image01, image02, image03, image04;
private Bitmap image05, image06, image07, image08;
private Bitmap image09, image10, image11, image12;
private Bitmap image13, image14, image15, image16;
private Bitmap image17, image18, image19, image20;
private Bitmap[] imageIds;
//public Integer[] photoIds; //Photo Array
private int px=0; //Flag for switch
private int photoMax; //Flag for switch
private boolean visible; //显示状态
private int width; //长
private int height; //高
//实现WallpaperEngine()
public WallpaperEngine(Resources r) {
Bitmap[] imageIds = {
image01, image02, image03, image04,
image05, image06, image07, image08,
image09, image10, image11, image12,
image13, image14, image15, image16,
image17, image18, image19, image20,
};
Integer[] photoIds = {
R.drawable.sakura01, R.drawable.sakura02,
R.drawable.sakura03, R.drawable.sakura04,
R.drawable.sakura05, R.drawable.sakura06,
R.drawable.sakura07, R.drawable.sakura08,
R.drawable.fire01, R.drawable.fire02,
};
setImageIds(imageIds);
px=0;
photoMax = photoIds.length;
for (int i=0 ; i < photoMax ; i++) {
imageIds[i]=BitmapFactory.decodeResource(r,photoIds[i]);
}
}
//创建引擎
@Override
public void onCreate(SurfaceHolder surfaceHolder) {
super.onCreate(surfaceHolder);
// Enable touch
setTouchEventsEnabled(true);
}
//变更Surface
@Override
public void onSurfaceChanged(SurfaceHolder holder,
int format,int width,int height) {
super.onSurfaceChanged(holder,format,width,height);
this.width =width;
this.height=height;
drawFrame();
}
//创建Surface
@Override
public void onSurfaceCreated(SurfaceHolder holder) {
super.onSurfaceCreated(holder);
}
//销毁Surface
@Override
public void onSurfaceDestroyed(SurfaceHolder holder) {
super.onSurfaceDestroyed(holder);
visible=false;
//handler.removeCallbacks(drawThread);
}
//变更可见/不可见状态
@Override
public void onVisibilityChanged(boolean visible) {
this.visible=visible;
if (visible) {
drawFrame();
}
}
//变更壁纸位置
@Override
public void onOffsetsChanged(float xOffset,float yOffset,
float xStep,float yStep,int xPixels,int yPixels) {
drawFrame();
}
//每一次触控换下一张照片
@Override
public void onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
if (event.getAction() == MotionEvent.ACTION_UP) {
drawFrame();
}
}
//Frame描绘
private void drawFrame() {
Bitmap[] imagexx = getImageIds();
//加锁画布
SurfaceHolder holder=getSurfaceHolder();
Canvas c=holder.lockCanvas();
//描绘
c.drawColor(Color.BLUE);
image = imagexx[px];
px++;
if (px >= photoMax ) {
px = 0;
}
c.drawBitmap(image, (width-image.getWidth())/2, (height-image.getHeight())/2, null);
//解锁画布
holder.unlockCanvasAndPost(c);
}
public void setImageIds(Bitmap[] imageIds) {
this.imageIds = imageIds;
}
public Bitmap[] getImageIds() {
return imageIds;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
小程序 动态壁纸源码.rar
共51个文件
jpg:21个
class:8个
png:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 140 浏览量
2023-02-03
11:43:38
上传
评论
收藏 6.99MB RAR 举报
温馨提示
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
小程序 动态壁纸源码.rar (51个子文件)
Android 动态壁纸源码
.classpath 280B
assets
src
com
example
android
livewallpapertouch
TouchLiveWallpaper.java 5KB
res
drawable-mdpi
sakura11s.jpg 42KB
touch_icon.png 6KB
sakura03.jpg 222KB
fire02.PNG 68KB
sakura04.jpg 227KB
Thumbs.db 133KB
sakura09s.jpg 42KB
sakura05.jpg 226KB
sakura12s.jpg 44KB
sakura07s.jpg 42KB
sakura07.jpg 227KB
photo_icon.png 4KB
sakura01.jpg 229KB
sakura03s.jpg 42KB
sakura04s.jpg 41KB
sakura08.jpg 229KB
sakura10s.jpg 43KB
sakura01s.jpg 43KB
sakura06s.jpg 46KB
sakura05s.jpg 42KB
sakura06.jpg 234KB
sakura02.jpg 238KB
sakura08s.jpg 42KB
fire01.PNG 71KB
icon.png 3KB
sakura02s.jpg 42KB
drawable-ldpi
Thumbs.db 7KB
icon.png 2KB
xml
livewallpaper.xml 209B
values
strings.xml 261B
layout
main.xml 382B
drawable-hdpi
Thumbs.db 8KB
icon.png 4KB
bin
resources.ap_ 2.45MB
com_example_android_livewallpapertouch.apk 2.46MB
classes.dex 7KB
com
example
android
livewallpaper
livewallpapertouch
R$xml.class 454B
TouchLiveWallpaper$WallpaperEngine.class 5KB
R$string.class 522B
R$layout.class 454B
R$attr.class 400B
R$drawable.class 1KB
R.class 673B
TouchLiveWallpaper.class 1KB
default.properties 449B
.project 853B
AndroidManifest.xml 796B
gen
com
example
android
livewallpaper
livewallpapertouch
R.java 2KB
1_121024103743_1.jpg 100KB
共 51 条
- 1
资源评论
大富大贵7
- 粉丝: 303
- 资源: 8869
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功