Android 自定义view时,顶层view为ScrollView 注意

int specMode=MeasureSpec.getMode(heightMeasureSpec);

int specSize=MeasureSpec.getSize(heightMeasureSpec);


顶层view为ScrollView时, 高度的mode都是 MeasureSpec.UNSPECIFIED

它只能有一个直接子view,不论高度是否为一个 定值    


这时第三层view,用自定义view, width任意写,都没有问题   都能与期望匹配

height 写成match_parent 或 wrap_content 都有问题, 只有是一个定值 ,如100dp

当然 如果在 onMeasure 中, 直接setMeasureDimension()  传一个 含定值的 MeasureSpec的高度,也没问题

你可能感兴趣的:(Android 自定义view时,顶层view为ScrollView 注意)