Android 在onMeasure()中的自定义布局中,textview是否应处理其布局高度?

Android 在onMeasure()中的自定义布局中,textview是否应处理其布局高度?,android,textview,onmeasure,Android,Textview,Onmeasure,我有一个自定义布局,其中包括一些TextView和其他小部件。TextView有一个XML属性android:layout_height=”“ 问题是布局的高度被忽略了,我认为被视为包裹内容 我认为子视图应该处理它们自己的布局\宽度和布局\高度参数。我是否需要在自定义布局的onMeasure()中执行某些操作,或者问题出在其他地方 谢谢。显然,版面宽度和版面高度参数需要由容器处理,而不是由TextView处理。因此,像这样的一小段代码似乎可以做到这一点(我只是在本例中展示高度计算): for(i

我有一个自定义布局,其中包括一些TextView和其他小部件。TextView有一个XML属性android:layout_height=”“

问题是布局的高度被忽略了,我认为被视为包裹内容

我认为子视图应该处理它们自己的布局\宽度和布局\高度参数。我是否需要在自定义布局的onMeasure()中执行某些操作,或者问题出在其他地方


谢谢。

显然,版面宽度和版面高度参数需要由容器处理,而不是由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);
}