问题描述
- 本人小白问个android的问题
-
大概是这样的在一个按钮的onclick里面写了个这个
for(int i = 0;i<10;i++){
控件.layout(控件.getLeft()+1,控件.getTop()+1,控件.getRight()-1,控件.getBottom()-1);
控件.invalidate();
log(”*****,”~~~“);
延时;
}
logcat里是显示了十次,
但界面上为什么看起来还是只绘制最后一次移动了啊?
对不起,本人新人并没有币可以悬赏,抱歉。
解决方案
10次太快了,眼睛看不出来
控件.invalidate();中,计算dirty重绘区域是同步方式,但最后发送重绘请求消息是个异步过程。
解决方案二:
用一个handler延时循环
解决方案三:
做延时操作,你每次都invalidate刷新,自然会覆盖前面的。可以将时间拉长,看出效果。
解决方案四:
10次太快了,眼睛看不出来
控件.invalidate();中,计算dirty重绘区域是同步方式,但最后发送重绘请求消息是个异步过程。
解决方案五:
Android-00 小白遇到的第一堆问题
小白一样的表单提交问题
时间: 2024-11-17 23:35:52