Android 在onMeasure()中的自定义布局中,textview是否应处理其布局高度?
我有一个自定义布局,其中包括一些TextView和其他小部件。TextView有一个XML属性android:layout_height=”“ 问题是布局的高度被忽略了,我认为被视为包裹内容 我认为子视图应该处理它们自己的布局\宽度和布局\高度参数。我是否需要在自定义布局的onMeasure()中执行某些操作,或者问题出在其他地方Android 在onMeasure()中的自定义布局中,textview是否应处理其布局高度?,android,textview,onmeasure,Android,Textview,Onmeasure,我有一个自定义布局,其中包括一些TextView和其他小部件。TextView有一个XML属性android:layout_height=”“ 问题是布局的高度被忽略了,我认为被视为包裹内容 我认为子视图应该处理它们自己的布局\宽度和布局\高度参数。我是否需要在自定义布局的onMeasure()中执行某些操作,或者问题出在其他地方 谢谢。显然,版面宽度和版面高度参数需要由容器处理,而不是由TextView处理。因此,像这样的一小段代码似乎可以做到这一点(我只是在本例中展示高度计算): for(i
谢谢。显然,版面宽度和版面高度参数需要由容器处理,而不是由TextView处理。因此,像这样的一小段代码似乎可以做到这一点(我只是在本例中展示高度计算):
for(int i=0,count=getChildCount();i
for (int i = 0, count = getChildCount(); i < count; i++)
{
View child = getChildAt(i);
ViewGroup.LayoutParams params = child.getLayoutParams();
int heightSpec;
if (params.height == ViewGroup.LayoutParams.MATCH_PARENT)
heightSpec = heightMeasureSpec;
else if (params.height == ViewGroup.LayoutParams.WRAP_CONTENT)
heightSpec = MeasureSpec.makeMeasureSpec (Integer.MAX_VALUE, MeasureSpec.UNSPECIFIED);
else
heightSpec = MeasureSpec.makeMeasureSpec (params.height, MeasureSpec.EXACTLY);
child.measure (widthSpec, heightSpec);
}