Adroid 界面绘制实现
用户接口方面,主要表现任务由View的各种继承类来实现。View类的继承关系如图所示。
当用户请求绘制调用invalidate(),此函数会找到当前View或Viewgroup的ParentView,并调用父视图的invalidateChild(this, r)。invalidateChild会循环调用父视图的invalidateChildInParent()因此层层向上层视图调用,直到调用到根视图ViewRoot。ViewRoot的invalidateChildInParent调用invalidateChild,然后发送消息让ViewRoot进行绘制。绘制代码在handleMessage()中的case DO_TRAVERSAL中调用了performTraversals()。
background.draw(canvas)
dispatchDraw(canvas)
在ViewGroup的dispatchDraw中会调用drawChild函数。drawChild根据子View的私有标志位mPrivateFlags来调用子类的draw()或者dispatchDraw(canvas)。由此实现了层层向下绘制,直到最基本的View。View的dispatchDraw是一个抽象函数,绘制过程到此结束。最后ViewRoot会调用nativeShowFPS(canvas, now - sDrawTime)函数将绘制结果canvas传递给本地层进行显示。
参考别人的分析,自己大概的看了一遍。框架层看得差不多了,本地层还没有看。等有时间看了再更新吧。
参考资料:http://blog.sina.com.cn/s/blog_5e71b14f0100c75g.html
联系方式:zhangyangjing#gmail.com
如要转载请注明版权到此位置。
相关推荐
Android UI 界面绘制原理分析
Android_界面绘制工具;很好用,童叟无欺,请放心下载。
方便android界面开发,给大家分享轻巧的android应用界面开发工具。
安卓界面绘制工具 分享下载 从别的地方下载的但是需要积分的 所以免费分享给大家
Android 界面绘制都是通过 WindowManager 服务来实现的,WindowManager 对象可通过获取 WINDOW_SERVICE 系统服务得到,并因为 WindowManager 继承于 ViewManager ,所以其拥有以下方法 addView(View view, ...
安卓Android源码——Adroid UI 界面绘制原理分析.zip
Android UI 界面绘制原理分析: 渲染流程:当用户与 Android 设备进行交互时,系统需要不断地将用户的输入转化为屏幕上的视觉反馈。为了保持流畅的用户体验,Android 系统要求每一帧的渲染都必须在 16ms 内完成。这...
Android 应用开发源码 参考与学习使用
Window即窗口,这个概念在AndroidFramework中的实现为android.view.Window这个抽象类,这个抽象类是对Android系统中的窗口的抽象。在介绍这个类之前,我们先来看看究竟什么是窗口呢? 实际上,窗口是一个宏观的思想...
Android应用界面中绘制五角星的任务要求.pdf 学习资料 复习资料 教学资源
Android应用界面中绘制五角星的代码清单.pdf 学习资料 复习资料 教学资源
Android--开发--Adroid UI 界面绘制原理分析
A compact Android utility for constructing and drawing rounded regular polygons. Consumers can specify: number of sides (≥ 3); center coordinates; outer radius (center to vertex); corner rounding ...
android界面制作工具 可以轻松的绘制出漂亮的android界面
就是一个颜色可以渐变的圆环,最后实现的效果如下图: 左图是带渐变效果,右图是不带渐变效果。原理还是绘图,Canvas可以绘制的对象有:弧线(arcs)、填充颜色(argb和color)、 Bitmap、圆(circle和oval)、点(point...
Adroid UI 界面绘制原理分析
主要帮助大家使用Android绘制炫酷引导界面,具有实用性和参考价值,感兴趣的小伙伴们可以参考一下
项目重要技术点: 1-绘制布局,掌握android基本view控件的属性和使用 2-熟练掌握Activity页面展示,跳转和传值 3-使用碎片加载界面,滑动视图切换页面 4-自定义对话框 5-自定义软键盘绘制和使用 6-列表视图以及网格...
实现android端的类似二维码的扫描窗口(中间亮,四周暗,扫描线循环)
android相机的矩形拍照,只拍摄阴影部分并保存图片,自定义拍摄界面