Android 自定义View----布局流程(流式布局)

Android 自定义View----布局流程(流式布局)_第1张图片

绘制一个商品属性选择的控件,需要如何绘制?

这个时候需要了解自定义view中的布局流程;

自定义veiw包括布局,绘制,触摸反馈

布局就是确定每个view的位置和尺寸,然后才能知道在哪里绘制,绘制完成后用户才能知道点哪里;

  布局整体流程:
  假设一个ViewGroup里面有n个子view 的布局过程
      分测量和布局两个流程
 
  ①测量流程:从最上面的父view往下一级一级调用每个子view的measure()方法
 
            调用之后父view会得到每个子view的尺寸,怎么得到?
            子view自己算,父view会存下来,尺寸子view自己算,位置父view算,
            算完之后把位置和尺寸(左上右下四个坐标)在第二个流程(布局流程)中使用layout()方法作为参数传给子view
 
  ②布局流程:从最上面的父view往下一级一级调用每个子view的layout()方法(在这个过程确定子view的尺寸)

必须分为两个流程,有时候测量一次无法确认子view的尺寸和位置
  个体流程(某个view)
 
  ①开发者在xml文件中设置宽高尺寸
 
  ②父view在onMeasure()方法中得到开发者设置的尺寸,再结合自己的可用空间得出对子view的尺寸要求
    这个时候会调用子view的measure()方法,(注:measure是调度方法,measure会调用自己onMeasure()方法)把这

你可能感兴趣的:(自定义view)