处理重绘和无效操作:重新定制控件行为和外观Void Invalidate();void Invalidate ( Rectangle );//使控件的特定区域无效并且向控件发送绘制的消息;void Update();//使控件重绘其工作区内的无效区域;void Refresh();//相当于 thi...
分类:
其他好文 时间:
2015-10-21 12:09:09
阅读次数:
268
前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者?。同时真挚地向渴望了解 ? ? ?Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识...
分类:
移动开发 时间:
2015-09-17 23:32:11
阅读次数:
652
转载请注明出处:http://blog.csdn.net/qinjuning 前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者。...
分类:
移动开发 时间:
2015-09-16 15:26:55
阅读次数:
244
1.命名要特殊,避免和系统其他名字重复 2.要主动invalidate 3.不要在delloc里invalidate(如果timer没有失效,该controller不会销毁,不会进去delloc)
分类:
其他好文 时间:
2015-09-14 12:35:36
阅读次数:
172
Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。Android界面刷新方法有两种,分别是利用Handler和利用postInvalidate(...
分类:
移动开发 时间:
2015-08-30 22:34:26
阅读次数:
146
稍微用脑子想了一下,图形控件没有句柄,因此先把自己的坐标改一改,然后只要把父控件的某些区域Invalidate一下就可以了,WM_PAINT消息一来,父控件就会重绘所有子图形控件,就达到了相应的效果。怪不得没看到调用SetWindowPos这样的函数。有空详细跟踪一下。举例:procedure TF...
分类:
其他好文 时间:
2015-08-28 19:26:46
阅读次数:
144
前提条件:要明白在TWinControl有以下四个函数的存在,注意都是虚函数: procedure Invalidate; override; procedure Update; override; procedure Repaint; override; // 相当于前两句的组合 ...
NSTimer 怎么暂停继续转载自:http://blog.csdn.net/chentoo/article/details/8667918那,API里面NSTimer 是木有暂停继续的方法的,只有fire和invalidate,前者是开工的意思,后者是废掉的意思,如果用废掉来代替暂停的功能?显然是...
分类:
其他好文 时间:
2015-08-21 11:12:45
阅读次数:
132
UI更新方法一:Handler+View.invalidate+Thread+RunnableUI更新方法二:View.postInvalidate+Thread+RunnableUI更新方法三:Handler+Worker ThreadUI更新方法四:在Worker Thread中runOnUiT...
分类:
其他好文 时间:
2015-08-12 23:33:39
阅读次数:
156
结合View.java的源码,在draw方法中:
public void draw(Canvas canvas) {
/*View的绘制过程分为下面几步:1. Draw the background 绘制背景2. If necessary, save the canvas' layers to prepare for fading 如有必要,颜色渐变淡之前保存画布层(即锁定原有的画布...
分类:
其他好文 时间:
2015-08-10 00:28:53
阅读次数:
118