private int getMeasuredLength(int length, boolean isWidth) { int specMode = MeasureSpec.getMode(length); int specSize = MeasureSpec.getSize(length); int size; int padding = isWidth ? getPaddingLeft() + getPaddingRight() : getPaddingTop() + getPaddingBottom(); if (specMode == MeasureSpec.EXACTLY) { size = specSize; } else { size = isWidth ? padding + mWave.length / 4 : DEFAULT_HEIGHT + padding; if (specMode == MeasureSpec.AT_MOST) { size = Math.min(size, specSize); } } return size; }
原地址:http://www.android100.org/html/201409/12/64338.html
感谢楼主分享