SurfaceView 依次无缝绘制多张图片,然后移动图片,发现移动时图片会有间隙。如何解决?

我不得踢噶 2015-01-22 07:49:01
我的程序中有一个绘图线程ThreadDraw,源码如下:

private Runnable threadDraw = new Runnable() {
@Override
public void run() {
while(isRun) {
Canvas c = null;
try {
c = holder.lockCanvas();
if (c != null) {
c.drawColor(Color.WHITE);
Paint p = new Paint();
if (bitmap != null) {
for (int j = 0; j < 10; j++) {
for (int i = 0; i < 10; i++) {
Rect src = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
int x = (int) dX + i * bitmap.getWidth();
int y = (int) dY + j * bitmap.getHeight();
Point p0 = new Point(x, y);

int x1 = x + bitmap.getWidth();
int y1 = y + bitmap.getHeight();
Point p1 = new Point(x1, y1);

Rect dest = new Rect(p0.x, p0.y, p1.x, p1.y);
c.drawBitmap(bitmap, src, dest, p);
}
}
}
holder.unlockCanvasAndPost(c);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
};


然后我通过GestureDetector来改变dX和dY的值从而达到移动多张图片的目的,但是移动时会有小的缝隙,停下时缝隙又不见了,如何解决谢谢!
...全文
66 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧