我有这个布局层次结构:
<FrameLayout>
<ScrollView>...</ScrollView>
<LinearLayout>...</LinearLayout>
<LinearLayout>...</LinearLayout>
</FrameLayout>
使用 Android设备监视器我已经转储了视图层次结构,我已经实现了这个目标:
正如所料。但如果我再添加两个布局:
<FrameLayout>
<ScrollView>...</ScrollView>
<LinearLayout>...</LinearLayout>
<LinearLayout>...</LinearLayout>
<include layout="@layout/a_framelayout"/>
<include layout="@layout/another_framelayout"/>
</FrameLayout>
注意:a_framelayout
包含LinearLayout
,another_framelayout
包含View
。
我明白了:
这两个布局不应该分别有3和4的索引而不是0和2吗?为什么它们之间有ScrollView
?
如果我将布局更改为:
<FrameLayout>
<include layout="@layout/a_framelayout"/>
<include layout="@layout/another_framelayout"/>
<ScrollView>...</ScrollView>
<LinearLayout>...</LinearLayout>
<LinearLayout>...</LinearLayout>
</FrameLayout>
我明白了:
这更有意义,但现在a_framelayout
与another_framelayout
交换了,为什么?
尽管发生了这种奇怪的布局行为,但所有视图都在屏幕上正确呈现,并且布局正常工作。
任何线索?
谢谢你的时间。