如何实现局部刷新?我用了invalidate(Rect dirty)还是全局刷新。。。

JackBurd 2013-09-04 05:32:51
从MFC到现在的Android,这个invalidate实现局部刷新的我就没成功过,不知道到底该怎么弄,知道的不吝赐教。我的重绘是在子View的OnDraw里实现的。要么是全局刷新,要么就把上次画布上的所有图都清除了。部分代码如下:
public void onDraw(Canvas canvas) {

super.onDraw(canvas);

int images[][] = MainActivity.images;
int number = images.length;
int canvasWidth = canvas.getWidth();
int imageWidth = canvasWidth / number;
Bitmap bmp = BitmapFactory.decodeResource(getResources(), images[0][0]);
int srcWidth = bmp.getWidth();
float scale = (float) imageWidth / srcWidth;

if (!isStarted) {

canvas.drawColor(Color.WHITE);

for (int i = 0; i < number; i++) {
for (int j = 0; j < number; j++) {
Random rand = new Random();
Bitmap srcBmp = BitmapFactory.decodeResource(
getResources(), images[rand.nextInt(number)][0]);

Matrix matrix = new Matrix();
matrix.postScale(scale, scale);
Bitmap dstBmp = Bitmap
.createBitmap(srcBmp, 0, 0, srcBmp.getWidth(),
srcBmp.getHeight(), matrix, true);

canvas.drawBitmap(dstBmp, i * imageWidth, j * imageWidth,
null);
}
}

//isStarted = true; //加上的话就只执行一次,下次刷新图就都没了;不加的话每次都是全局刷新,相当于重新加载了
//我想要的效果是第一次完全加载,以后就是局部刷新。
}
else
{
if(isTouched)
{

}
}
}


外部调用:
Rect DrawRect = new Rect(srcPosition.x*imageWidth, srcPosition.y*imageWidth,
tarPosition.x*imageWidth, tarPosition.y*imageWidth);

touchView.invalidate(DrawRect);
...全文
10066 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fighter168 2013-10-26
  • 打赏
  • 举报
回复
复写画布里面的update方法,可以实现,想要效果好一点的话可以使用双缓冲技术实现刷新
踩踩一哥 2013-09-18
  • 打赏
  • 举报
回复
View 里面用postinvalidate就会刷新屏幕,SurfaceView则不会,如果要到你想要的效果,只能用surfaceView了。要不然就用ArrayList<Rect>去储存你随机生成的Rect,然后用一个循环全部画出来。
踩踩一哥 2013-09-18
  • 打赏
  • 举报
回复
invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 这里不应该用它吧
JackBurd 2013-09-04
  • 打赏
  • 举报
回复
引用 1 楼 u011973173 的回复:
http://pan.baidu.com/share/link?shareid=2365746473&uk=3593691716 http://pan.baidu.com/share/link?shareid=2367691518&uk=3593691716 http://pan.baidu.com/share/link?shareid=2458093355&uk=3593691716 http://pan.baidu.com/share/link?shareid=2502195794&uk=3593691716 http://pan.baidu.com/share/link?shareid=2505628703&uk=3593691716 http://pan.baidu.com/share/link?shareid=2507712973&uk=3593691716 http://pan.baidu.com/share/link?shareid=2471551160&uk=3593691716 http://pan.baidu.com/share/link?shareid=2473288434&uk=3593691716 http://pan.baidu.com/share/link?shareid=2479446311&uk=3593691716 http://pan.baidu.com/share/link?shareid=2481719415&uk=3593691716 http://pan.baidu.com/share/link?shareid=2483791787&uk=3593691716 http://pan.baidu.com/share/link?shareid=2499413479&uk=3593691716 http://pan.baidu.com/share/link?shareid=2515015047&uk=3593691716 http://pan.baidu.com/share/link?shareid=2521440944&uk=3593691716 http://pan.baidu.com/share/link?shareid=2523303365&uk=3593691716 http://pan.baidu.com/share/link?shareid=2525259163&uk=3593691716 http://pan.baidu.com/share/link?shareid=2527107184&uk=3593691716 http://pan.baidu.com/share/link?shareid=2532546654&uk=3593691716 http://pan.baidu.com/share/link?shareid=2534117329&uk=3593691716 http://pan.baidu.com/share/link?shareid=2537701456&uk=3593691716 http://pan.baidu.com/share/link?shareid=2539667045&uk=3593691716 http://pan.baidu.com/share/link?shareid=2541612262&uk=3593691716 http://pan.baidu.com/share/link?shareid=2543473152&uk=3593691716 http://pan.baidu.com/share/link?shareid=2544998135&uk=3593691716 http://pan.baidu.com/share/link?shareid=2547852147&uk=3593691716 http://pan.baidu.com/share/link?shareid=2549602734&uk=3593691716 http://pan.baidu.com/share/link?shareid=2550969027&uk=3593691716 http://pan.baidu.com/share/link?shareid=2552389675&uk=3593691716 http://pan.baidu.com/share/link?shareid=2554231407&uk=3593691716 http://pan.baidu.com/share/link?shareid=2555942078&uk=3593691716 http://pan.baidu.com/share/link?shareid=2557411534&uk=3593691716 http://pan.baidu.com/share/link?shareid=2559060606&uk=3593691716 http://pan.baidu.com/share/link?shareid=2560730955&uk=3593691716 http://pan.baidu.com/share/link?shareid=2562321820&uk=3593691716 http://pan.baidu.com/share/link?shareid=2564007729&uk=3593691716 http://pan.baidu.com/share/link?shareid=2567215738&uk=3593691716 http://pan.baidu.com/share/link?shareid=2569593062&uk=3593691716 http://pan.baidu.com/share/link?shareid=2571307227&uk=3593691716 http://pan.baidu.com/share/link?shareid=2572840592&uk=3593691716 http://pan.baidu.com/share/link?shareid=2575366792&uk=3593691716 http://pan.baidu.com/share/link?shareid=2577172396&uk=3593691716 http://pan.baidu.com/share/link?shareid=2578846264&uk=3593691716 http://pan.baidu.com/share/link?shareid=2580607427&uk=3593691716 http://pan.baidu.com/share/link?shareid=2582199828&uk=3593691716 http://pan.baidu.com/share/link?shareid=2585260977&uk=3593691716 http://pan.baidu.com/share/link?shareid=2587373913&uk=3593691716 http://pan.baidu.com/share/link?shareid=2588951507&uk=3593691716 http://pan.baidu.com/share/link?shareid=2590539453&uk=3593691716 http://pan.baidu.com/share/link?shareid=2592460269&uk=3593691716 http://pan.baidu.com/share/link?shareid=2594957647&uk=3593691716 http://pan.baidu.com/share/link?shareid=2597213221&uk=3593691716 http://pan.baidu.com/share/link?shareid=2445028201&uk=3593691716 http://pan.baidu.com/share/link?shareid=2433446403&uk=3593691716 http://pan.baidu.com/share/link?shareid=2431285217&uk=3593691716 http://pan.baidu.com/share/link?shareid=2428406553&uk=3593691716 http://pan.baidu.com/share/link?shareid=2425779657&uk=3593691716 http://pan.baidu.com/share/link?shareid=2424168913&uk=3593691716 http://pan.baidu.com/share/link?shareid=2422617251&uk=3593691716 http://pan.baidu.com/share/link?shareid=2415934194&uk=3593691716 http://pan.baidu.com/share/link?shareid=2414149759&uk=3593691716 http://pan.baidu.com/share/link?shareid=2412355089&uk=3593691716 http://pan.baidu.com/share/link?shareid=2410712158&uk=3593691716 http://pan.baidu.com/share/link?shareid=2408514992&uk=3593691716 http://pan.baidu.com/share/link?shareid=2406855739&uk=3593691716 http://pan.baidu.com/share/link?shareid=2404957862&uk=3593691716 http://pan.baidu.com/share/link?shareid=2402705955&uk=3593691716 http://pan.baidu.com/share/link?shareid=2395273602&uk=3593691716 http://pan.baidu.com/share/link?shareid=2386114028&uk=3593691716 http://pan.baidu.com/share/link?shareid=2383884482&uk=3593691716 http://pan.baidu.com/share/link?shareid=2382263076&uk=3593691716 http://pan.baidu.com/share/link?shareid=2380754681&uk=3593691716 http://pan.baidu.com/share/link?shareid=2378815281&uk=3593691716 http://pan.baidu.com/share/link?shareid=2377188314&uk=3593691716 http://pan.baidu.com/share/link?shareid=2375267114&uk=3593691716 http://pan.baidu.com/share/link?shareid=2373395583&uk=3593691716 http://pan.baidu.com/share/link?shareid=2371937051&uk=3593691716 http://pan.baidu.com/share/link?shareid=2369909907&uk=3593691716 http://bbs.py168.com/thread-2005456-1-1.html http://bbs.py168.com/thread-2005458-1-1.html http://bbs.py168.com/thread-2005462-1-1.html http://bbs.py168.com/thread-2005466-1-1.html http://bbs.py168.com/thread-2005473-1-1.html http://bbs.py168.com/thread-2005478-1-1.html http://bbs.py168.com/thread-2005482-1-1.html http://bbs.py168.com/thread-2005488-1-1.html http://bbs.py168.com/thread-2005492-1-1.html http://bbs.py168.com/thread-2005496-1-1.html http://bbs.py168.com/thread-2005500-1-1.html http://bbs.py168.com/thread-2005504-1-1.html http://bbs.py168.com/thread-2005508-1-1.html http://bbs.py168.com/thread-2005510-1-1.html http://bbs.py168.com/thread-2005512-1-1.html http://bbs.py168.com/thread-2005514-1-1.html http://bbs.py168.com/thread-2005517-1-1.html http://bbs.py168.com/thread-2005444-1-1.html http://bbs.py168.com/thread-2005530-1-1.html http://bbs.py168.com/thread-2005536-1-1.html http://bbs.py168.com/thread-2005543-1-1.html http://bbs.py168.com/thread-2005546-1-1.html http://bbs.py168.com/thread-2005552-1-1.html http://bbs.py168.com/thread-2005554-1-1.html http://bbs.py168.com/thread-2005557-1-1.html http://bbs.py168.com/thread-2005561-1-1.html http://bbs.py168.com/thread-2005564-1-1.html http://bbs.py168.com/thread-2005568-1-1.html http://bbs.py168.com/thread-2005572-1-1.html http://bbs.py168.com/thread-2005575-1-1.html http://photo.163.com/q/7469486 http://photo.163.com/q/7469506 http://photo.163.com/q/7469497 http://photo.163.com/q/7469508 http://photo.163.com/q/7469509 http://photo.163.com/q/7469511 http://photo.163.com/q/7469514 http://photo.163.com/q/7469516 http://photo.163.com/q/7469520 http://photo.163.com/q/7469522 http://photo.163.com/q/7472157 http://photo.163.com/q/7472164 http://photo.163.com/q/7472175 http://photo.163.com/q/7472183 http://photo.163.com/q/7472193 http://photo.163.com/q/7472202 http://photo.163.com/q/7472207 http://photo.163.com/q/7472215 http://photo.163.com/q/7472225 http://photo.163.com/q/7472230 http://photo.163.com/q/7472242 http://photo.163.com/q/7472245 http://photo.163.com/q/7472249 http://photo.163.com/q/7472251 http://photo.163.com/q/7472255 http://photo.163.com/q/7472256 http://photo.163.com/q/7472258 http://photo.163.com/q/7472259 http://photo.163.com/q/7472263 http://photo.163.com/q/7472265 http://photo.163.com/q/7472285 http://photo.163.com/q/7472289 http://photo.163.com/q/7472293 http://photo.163.com/q/7472298 http://photo.163.com/q/7472301 http://photo.163.com/q/7472308 http://photo.163.com/q/7472314 http://photo.163.com/q/7472318 http://photo.163.com/q/7472323 http://photo.163.com/q/7472327 http://photo.163.com/q/7472339 http://photo.163.com/q/7472346 http://photo.163.com/q/7472350 http://photo.163.com/q/7472355 http://photo.163.com/q/7472358 http://photo.163.com/q/7472359 http://photo.163.com/q/7472362 http://photo.163.com/q/7472365 http://photo.163.com/q/7472370 http://photo.163.com/q/7472373 http://photo.163.com/q/7472396 http://photo.163.com/q/7472402 http://photo.163.com/q/7472409 http://photo.163.com/q/7472414 http://photo.163.com/q/7472418 http://photo.163.com/q/7472421 http://photo.163.com/q/7472422 http://photo.163.com/q/7472425 http://photo.163.com/q/7472427 http://photo.163.com/q/7472430 http://photo.163.com/q/7472451 http://photo.163.com/q/7472455 http://photo.163.com/q/7472460 http://photo.163.com/q/7472465 http://photo.163.com/q/7472467 http://photo.163.com/q/7472471 http://photo.163.com/q/7472474 http://photo.163.com/q/7472477 http://photo.163.com/q/7472480 http://photo.163.com/q/7472483 http://bbs.py168.com/thread-2005781-1-1.html http://bbs.py168.com/thread-2005782-1-1.html http://bbs.py168.com/thread-2005783-1-1.html http://bbs.py168.com/thread-2005784-1-1.html http://bbs.py168.com/thread-2005785-1-1.html http://bbs.py168.com/thread-2005786-1-1.html http://bbs.py168.com/thread-2005787-1-1.html http://bbs.py168.com/thread-2005789-1-1.html http://bbs.py168.com/thread-2005790-1-1.html http://bbs.py168.com/thread-2005791-1-1.html http://bbs.py168.com/thread-2005792-1-1.html http://bbs.py168.com/thread-2005794-1-1.html http://bbs.py168.com/thread-2005795-1-1.html http://bbs.py168.com/thread-2005796-1-1.html http://bbs.py168.com/thread-2005797-1-1.html http://bbs.py168.com/thread-2005798-1-1.html http://bbs.py168.com/thread-2005799-1-1.html http://bbs.py168.com/thread-2005800-1-1.html http://bbs.py168.com/thread-2005801-1-1.html http://bbs.py168.com/thread-2005802-1-1.html
你他妈有病啊?你个SB发的什么?

13,097

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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