我在<Android视图结构>这篇文章中已经描述了Activity,Window和View在视图架构方面的关系.前天,我突然想到为什么在setContentView中能够调用findViewById函数?View那时不是还没有被加载,测量,布局和绘制啊.然后就搜索了相关的条目,发现findViewById只需要在inflate结束之后就可以.于是,我整理了Activity生命周期和View的生命周期的关系,并再次做一下总结.  为了节约你的时间,本篇文章的主要内容为: - Activity的生…
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52840065 本文出自:[openXu的博客]   在Activity完全解析的第一篇文章Activtiy完全解析(一.Activity的创建过程)中,我们分析了从调用startActivtiy()到Activtiy创建完成的整个过程.其中step20:ActivtiyThread.handleLaunchActivity(r, null)这一步中有两个重要的步骤,第一步就是调用perfo…
概述 上一篇博文对DecorView和ViewRootImpl的关系进行了剖析,这篇文章主要是来剖析View绘制的三个基本流程:measure,layout,draw.仅仅有把这三个基本流程搞清楚了,平时在自己定义View的时候才会有清楚的思路!開始进入正题. View的measure过程 三个流程均是从ViewRootImpl的performTraversals方法開始的,例如以下所看到的: private void performTraversals() { ...... int child…
相 信每个Android程序员都知道,我们每天的开发工作当中都在不停地跟View打交道,Android中的任何一个布局.任何一个控件其实都是直接或间 接继承自View的,如TextView.Button.ImageView.ListView等.这些控件虽然是Android系统本身就提供好的,我 们只需要拿过来使用就可以了,但你知道它们是怎样被绘制到屏幕上的吗?多知道一些总是没有坏处的,那么我们赶快进入到本篇文章的正题内容吧. 要知道,任何一个视图都不可能凭空突然出现在屏幕上,它们都是要经过非常科…
在上一篇文章中,我们介绍了DecorView与MeasureSpec, 下面的文章就开始讨论View的三大流程. View的三大流程都是通过ViewRoot来完成的.ViewRoot对应于ViewRootImpl类,它是连接WindowManager与DecorView的纽带.在ActivityThread中,当Activity对象被创建完毕之后,会将DecorView添加到Window中,同时创建ViewRootImpl对象,并将ViewRootImpl对象和DecorView建立关联. Vi…
前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打算正式将ko用起来,于是乎对ko和bootstraptable做了一些封装,在此分享出来供园友们参考.封装思路参考博客园大神萧秦,如果园友们有更好的方法,欢迎讨论. KnockoutJS系列文章: JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一) JS组件…
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51490283 本文出自:[openXu的博客] 目录: onMeasure什么时候会被调用 onMeasure方法执行流程 MeasureSpec类 从ViewGroup的onMeasure到View的onMeasure ViewGroup中三个测量子控件的方法 getChildMeasureSpec方法 View的onMeasure setMeasuredDimension   在上一篇…
Android自定义View前传-View的三大流程-Measure 参考 <Android开发艺术探索> https://developer.android.google.cn/reference/android/view/View.MeasureSpec 写在前面 View的 measure .layout draw 的三大流程的重要性不用多说,只有学习这三大流程,清楚了View的工作方式,才能够在进行 自定义View 的时候更得心应手.在学习三大流程的时候,需要看很多的相关的源码,其中有…
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10979161.html],谢谢! 尽管Android系统提供了不少控件,但是有很多酷炫效果仍然是系统原生控件无法实现的.好在Android允许自定义控件,来弥补原生控件的不足.但是在很多初学者看来,自定义View似乎很难掌握.其中有很大一部分原因是我们平时看到的自定义View使用中,有多种形式,有的寥寥数笔,有的逻辑很复杂,有的直接继承View或ViewGroup,有的却直接继承系统的原生控…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将先从以下两个内容来介绍常用View: [RecycleView] [CardView] 一.RecycleView 1.1.RecycleView介绍 官方介绍为: A flexible view for providing a limited window into a large data set. 翻译过来就是: 为大数据集提供的有限窗口的灵活视图. 用官方的语言…