onMeasure模式
生活随笔
收集整理的这篇文章主要介绍了
onMeasure模式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
2019独角兽企业重金招聘Python工程师标准>>>
MeasureSpec.UNSPECIFIED //无限制 case MeasureSpec.EXACTLY://限制固定值/match_parent或者具体数值 MeasureSpec.AT_MOST://限制上限具体值/wrap_content int measureWidth = getMeasuredWidth(); int measureHeight = getMeasuredHeight(); //宽 int widthSize = MeasureSpec.getSize(widthMeasureSpec); int widthMode = MeasureSpec.getMode(widthMeasureSpec); //高 int heightSize = MeasureSpec.getSize(heightMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec);switch (widthMode){case MeasureSpec.EXACTLY://限制固定值measureWidth = widthSize;break;case MeasureSpec.AT_MOST://限制上限具体值break;case MeasureSpec.UNSPECIFIED:break;
2.
for (int i = 0; i < getChildCount(); i++) {View childView = getChildAt(i);int childMeasureSpec;LayoutParams params = (LayoutParams) childView.getLayoutParams();int selfHeightSpecMode = MeasureSpec.getMode(heightMeasureSpec);int selfHeightSpecSize = MeasureSpec.getSize(heightMeasureSpec);switch (params.height){case ViewGroup.LayoutParams.WRAP_CONTENT:if (selfHeightSpecMode == MeasureSpec.EXACTLY || selfHeightSpecMode == MeasureSpec.AT_MOST){childMeasureSpec = MeasureSpec.makeMeasureSpec(selfHeightSpecSize,MeasureSpec.AT_MOST);}else {childMeasureSpec = MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED);}break;//父view的可用高度,怎么计算?case LayoutParams.MATCH_PARENT:if (selfHeightSpecMode == MeasureSpec.EXACTLY || selfHeightSpecMode == MeasureSpec.AT_MOST){childMeasureSpec = MeasureSpec.makeMeasureSpec(selfHeightSpecSize,MeasureSpec.EXACTLY);}else {childMeasureSpec = MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED);}break;default:childMeasureSpec = MeasureSpec.makeMeasureSpec(params.height,MeasureSpec.EXACTLY);break;}childView.measure(widthMeasureSpec,childMeasureSpec);scrollHeight = scrollHeight +childView.getMeasuredHeight();CCLog.e("scrollHeight",scrollHeight);//super.onMeasure(widthMeasureSpec, scrollHeight);//setMeasuredDimension(getMeasuredWidth(), scrollHeight); }转载于:https://my.oschina.net/u/2355512/blog/1825420
总结
以上是生活随笔为你收集整理的onMeasure模式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ci 文件类型在禁止上传之列
- 下一篇: KZWFoudation系列之Route