大佬教程收集整理的这篇文章主要介绍了android – WallpaperServices的draw方法的类似Invalidate的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我在非壁纸程序中使用的代码,它工作正常:
public void onDraw(Canvas C) { xPosition += xAcceleration; yPosition += yAcceleration; drawable = BitmapFactory.decoderesource(getresources(),R.drawable.ball); c.drawBitmap(drawable,xPosition,yPosition,paint); invalidate(); }
所以我去尝试为Wallpaperservice创建自己的类似无效的解决方案,并想出了这个:
void drawFrame() { final SurfaceHolder holder = getSurfaceHolder(); Canvas c = null; try { c = holder.lockCanvas(); if (c != null) { xPosition += xAcceleration; yPosition += yAcceleration; BACkground = BitmapFactory.decoderesource(getresources(),R.drawable.bg); drawable = BitmapFactory.decoderesource(getresources(),R.drawable.ball); c.drawBitmap(BACkground,null); c.drawBitmap(drawable,null); } } catch (Exception eX){ } holder.unlockCanvasAndPost(c); drawFrame(); }
所以我要做的是:
>获取画布.
>在画布上画画.
>解锁画布并重新开始.
据我所知,这应该给我invalidate(); – 像行为,但它试图显示壁纸,然后它给我StackOverflowError.
以上是大佬教程为你收集整理的android – WallpaperServices的draw方法的类似Invalidate的方法全部内容,希望文章能够帮你解决android – WallpaperServices的draw方法的类似Invalidate的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。