FrameLayout не соблюдает порядок рисования
У меня есть эта иерархия макетов:
<FrameLayout>
<ScrollView>...</ScrollView>
<LinearLayout>...</LinearLayout>
<LinearLayout>...</LinearLayout>
</FrameLayout>
Используя Android Device Monitor, я избавился от иерархии представления и достиг этого:
Как и ожидалось. Но если я включу еще два макета:
<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
, Зачем?
Хотя это странное поведение макета произошло, все виды были правильно отображены на экране, и макет работает как надо.
Любая подсказка?
Спасибо за ваше время.