05_自定义流式布局view



invalidate 可以 重新出发 生命周期的执行,但也不是每次都触发  




自定义view 分类:

1:自定义view

没有现成的view  需要自己实现  一般继承已有的view,sufaceview

或者其他的view

2:自定义viewgroup

利用现有的组件更具特定的布局组成新的组件 大锁继承viewgroup或者layout

===================

自定view的三个构造函数

一个参数的构造函数 --一般用于代码中 new xxCustom();

2个参数的构造函数 --一般用xml布局三种使用;

3个参数的构造函数 --一般用自己的style时使用

===================

自定义view的三个步骤

=============================

onMeasure()  测量解决的根本问题就是 

match_parent:  测量父亲多大

和wrap_content :测量孩子 多大

================

android:layout_width="100dp"

android:layout_width="match_parent"

android:layout_width="wrap_content"  

测量有三个模式:

MeasureSpec.UNSPECIFIED不确定值==wrap_content

MeasureSpec.AT_MOST 最大值 === match_parent

MeasureSpec.EXACTLY 完全准确值  === 100dp

=============================


测量的大小===父亲给的大小 + 孩子的大小

===========================

onMeasure(int widthMeasureSpec, int heightMeasureSpec)

onMeasure中的测量模式哪里来的呢? 父容器给的 

打个个比方:  我们自定义 了一个 xxViewGroup 在xml布局中使用的时候  放在 LinearLayout  

流程就是:LinearLayout   ----> xxViewGroup-->texview  依次把测量模式

给了子view 

测量孩子宽高

案例  scroview 嵌套 listview 显示不全 为什么?

============================

布局

protected void onLayout(boolean changed, int l, int t, int r, int b)



你可能感兴趣的:(05_自定义流式布局view)