作家
登录

Android View绘制的三大流程

作者: 来源: 2017-08-22 11:05:27 阅读 我要评论

view
  •             measureSpec = MeasureSpec.makeMeasureSpec(windowSize, MeasureSpec.AT_MOST); 
  •             break; 
  •         default
  •             // Window wants to be an exact sizeForce root view to be that size
  •             measureSpec = MeasureSpec.makeMeasureSpec(rootDimension, MeasureSpec.EXACTLY); 
  •             break; 
  •         } 
  •         return measureSpec; 
  •     }  
  • Java

    是以在具体的ViewGroup中须要遍历去测量子View,这里我们看看ViewGroup中供给的测量子View的measureChildWithMargins办法:

    1. protected void measureChildWithMargins(View child, 
    2.             int parentWidthMeasureSpec, int widthUsed, 
    3.             int parentHeightMeasureSpec, int heightUsed) { 
    4.         final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams(); 
    5.  
    6.         final int childWidthMeasureSpec = getChildMeasureSpec(parentWidthMeasureSpec, 
    7.                 mPaddingLeft + mPaddingRight + lp.leftMargin + lp.rightMargin 
    8.                         + widthUsed, lp.width); 
    9.         final int childHeightMeasureSpec = getChildMeasureSpec(parentHeightMeasureSpec, 
    10.                 mPaddingTop + mPaddingBottom + lp.topMargin + lp.bottomMargin 
    11.                         + heightUsed, lp.height); 
    12.  
    13.         child.measure(childWidthMeasureSpec, childHeightMeasureSpec); 
    14.     }  

    Java

    上述办法会对子元素进行measure,在调用子元素的measure办法之前会先经由过程getChildMeasureSpec办法来获得子元素的MeasureSpec。大年夜代码上看,子元素的MeasureSpec的创建与父容器的MeasureSpec和本身的LayoutParams有关,此外和View的margin和父类的padding有关,如今看看getChildMeasureSpec的具体实现:

    1. ViewGroup.java 
    2.  
    3. public static int getChildMeasureSpec(int spec, int

        推荐阅读

        两种曲线点抽稀算法-Python实现 附代码

      在处理矢量化数据时,记录中往往话苄很多反复数据,对进一步数据处理带来诸多不便。多余的数据一方面浪费了较多的存储空间,另一方面造成所要表达的图形不但滑或不相符标准。是以要经由过程某种规矩,在包管矢量曲线>>>详细阅读


      本文标题:Android View绘制的三大流程

      地址:http://www.17bianji.com/lsqh/36843.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)