Android 实时壁纸中的ImageView动画
(安卓) 我正在将一个全屏模拟时钟应用程序改编成一张实时壁纸。 该应用程序使用三个独立的Android 实时壁纸中的ImageView动画,android,imageview,android-relativelayout,wallpaper,android-framelayout,Android,Imageview,Android Relativelayout,Wallpaper,Android Framelayout,(安卓) 我正在将一个全屏模拟时钟应用程序改编成一张实时壁纸。 该应用程序使用三个独立的ImageView进行小时、分钟、秒和RotateAnimation 我一直在寻找一种在实时壁纸中使用ImageView的方法。并指出这应该可以通过measure()和layout()实现,但是 我真的不知道如何使用它。 例如,我使用下面的代码将clock\u background.png加载到ImageView中 public class MyWallpaperService extends Wallpap
ImageView
进行小时、分钟、秒和RotateAnimation
我一直在寻找一种在实时壁纸中使用ImageView的方法。并指出这应该可以通过measure()
和layout()
实现,但是
我真的不知道如何使用它。
例如,我使用下面的代码将clock\u background.png
加载到ImageView
中
public class MyWallpaperService extends WallpaperService {
@Override
public Engine onCreateEngine() {
return new MyWallpaperEngine();
}
....
public void onCreate(SurfaceHolder surfaceHolder) {
super.onCreate(surfaceHolder);
mContext = getBaseContext();
backgroundImage = new ImageView(mContext);
backgroundImage.setImageDrawable(mContext.getResources().getDrawable(R.drawable.clock_background));
}
}
后来我有:
backgroundImage.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
backgroundImage.layout(0, 0, 150, 150);
我希望上面的代码将显示clock\u background.png
在
屏幕。我试图将上面的两行放在OnSurfaceCreated
和OnSurfaceChanged
中。不幸的是,它不起作用。
据我所知,LiveWallper提供了一个表面(而不是SurfaceView),人们可以从中获得
画布上画东西。
我为自己在安卓的新手身份道歉:我做错了吗?我只是不想
乱搞drawBitmap
之类的东西,反正我也不在乎电池。
非常感谢您的帮助。多谢各位 我认为,是的,你做错了。
使用提供的画布及其drawX()方法谢谢!但我正在寻找一种方法来避免画布和绘图。正如我所提到的,这种方法确实存在,但可能并不可取。当推荐某人使用另一种方法时,它会很有用,可以为如何使用它获得期望的结果提供一些指导。