美文网首页
深入理解VIew加载

深入理解VIew加载

作者: RoboyCore | 来源:发表于2017-01-09 20:35 被阅读23次

学习心得URL

1.LayoutInfater

LayoutInfater内部调用

LayoutInflater layoutInflater = (LayoutInflater) context  
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);  //通过Pull解析工厂层层解析生成DOM树文件

setContextView 外面实际嵌套了一层FrameLayout(原因如下)

  • 控件的layout_width和layout_height要在父容器下才有用
    因为是相对布局所在位置的宽高, 所以单独加载的View的宽高是没有用的

  • 在infater.from()里头有三个参数,通过查看源码得知:

    1. 如果root为null,attachToRoot将失去作用,设置任何值都没有意义。
  1. 如果root不为null,attachToRoot设为true,则会给加载的布局文件的指定一个父布局,即root。
  2. 如果root不为null,attachToRoot设为false,则会将布局文件最外层的所有layout属性进行设置,当该view被添加到父view当中时,这些layout属性会自动生效。
  3. 在不设置attachToRoot参数的情况下,如果root不为null,attachToRoot参数默认为true。

如果有parent设置 attach to root 默认为true 设置为false则把该布局参数加到父布局中(意味着源父布局param失效)

2.onMeasure、onLayout、onDraw

3.视图状态与重绘

4.自定义组合控件

相关文章

  • 深入理解VIew加载

    学习心得URL 1.LayoutInfater LayoutInfater内部调用 setContextView ...

  • 深入理解ViewController以及view的加载

    简介 ViewController是iOS开发中MVC模式中的C(视图控制器),ViewController是vi...

  • 深入理解自定义View - paint(二)

    深入理解自定义View - paint(二) 上一章 上一章 深入理解自定义 View - Paint(一) 效果...

  • Android MVP

    .model-view-presenter 理解: 1,model层加载、处理本地于远程数据。 2,view层,界...

  • 深入理解Java类加载

    本文目的: 深入理解Java类加载机制; 理解各个类加载器特别是线程上下文加载器; Java虚拟机类加载机制 虚拟...

  • 深入理解 Java 类加载

    本文目的: 深入理解Java类加载机制; 理解各个类加载器特别是线程上下文加载器; Java虚拟机类加载机制 虚拟...

  • View生命

    1. View的生命周期: 当第一次加载到内存: 加载view(loadView)-->view加载完毕(view...

  • Android动态加载View的几种方法

    Android 加载View 有以下加载方式 View view = LayoutInflater.from(co...

  • 安卓面试概要点

    Java基础 访问修饰符 √ 类加载深入理解Java类加载器ClassLoaderJava中类加载的执行顺序 泛型...

  • HTTP协议

    很多WEB开发都不怎么理解 HTTP,为什么要深入理解HTTP协议?因为前端所有的 静态资源加载,和 数据加载,都...

网友评论

      本文标题:深入理解VIew加载

      本文链接:https://www.haomeiwen.com/subject/elvhbttx.html