Android根据布局高度设置子视图的高度

Android根据布局高度设置子视图的高度,android,android-layout,Android,Android Layout,我有一个包含多个子视图的布局。我可以在子视图上调用setLayoutParams()来设置高度,但我希望高度基于布局的总体高度,有点像LinearLayout中的权重,但有点复杂。如何获取布局的高度,以便在子视图上设置高度?我唯一想到的就是在布局上覆盖onMeasure()。onMeasure()提供布局的(可能)高度。在onMeasure()中,我在子级上调用setLayoutParams,然后调用super.onMeasure(),让超类使用子级布局参数中刚刚调整的高度。对onMeasure

我有一个包含多个子视图的布局。我可以在子视图上调用setLayoutParams()来设置高度,但我希望高度基于布局的总体高度,有点像LinearLayout中的权重,但有点复杂。如何获取布局的高度,以便在子视图上设置高度?我唯一想到的就是在布局上覆盖onMeasure()。onMeasure()提供布局的(可能)高度。在onMeasure()中,我在子级上调用setLayoutParams,然后调用super.onMeasure(),让超类使用子级布局参数中刚刚调整的高度。对onMeasure()中的子对象调用setLayoutParams()可以吗?测量()这似乎是知道已计算布局的可能高度以及该可能高度的唯一方法。

您尝试实现的代码片段将有助于了解您所描述的内容,听起来就像人们使用自定义视图组时所做的一样,自定义视图组根据其自身规范调整其所有子视图的大小和位置。