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 文件类型在禁止上传之列
- 下一篇: [Spring Cloud Task]6