Android 如何强制滚动查看子项进行测量?

Android 如何强制滚动查看子项进行测量?,android,android-layout,android-scrollview,Android,Android Layout,Android Scrollview,在视图层次结构中: ViewParent>ScrollView>LinearLayout 当维度发生变化时,ViewParent.onMeasure调用ScrollView.onMeasurewitch调用LinearLayout.onMeasure仅当ScrollView.width发生变化时,这似乎很正常,因为LinearLayout仅受其父视图width的约束 如果滚动视图.width未更改,如何强制测量线性布局?解决方案 覆盖ScrollView.onMeasure并添加Linear

在视图层次结构中:

  • ViewParent>ScrollView>LinearLayout
当维度发生变化时,
ViewParent.onMeasure
调用
ScrollView.onMeasure
witch调用
LinearLayout.onMeasure
仅当
ScrollView.width
发生变化时,这似乎很正常,因为
LinearLayout
仅受其父视图width的约束


如果
滚动视图.width
未更改,如何强制测量
线性布局?

解决方案

覆盖
ScrollView.onMeasure
并添加
LinearLayout.forceLayout
调用:

@Override
protected void onMeasure(int wMS, int hMS) {
    if (getChildCount() > 0)
        getChildAt(0).forceLayout();
    super.onMeasure(wMS, hMS);
}