欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

onMeasure模式

发布时间:2025/7/14 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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模式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。