FrameLayout не соблюдает порядок рисования

У меня есть эта иерархия макетов:

<FrameLayout>

    <ScrollView>...</ScrollView>

    <LinearLayout>...</LinearLayout>

    <LinearLayout>...</LinearLayout>

</FrameLayout> 

Используя Android Device Monitor, я избавился от иерархии представления и достиг этого:

представить дамп 1

Как и ожидалось. Но если я включу еще два макета:

<FrameLayout>

    <ScrollView>...</ScrollView>

    <LinearLayout>...</LinearLayout>

    <LinearLayout>...</LinearLayout>

    <include layout="@layout/a_framelayout"/>

    <include layout="@layout/another_framelayout"/>

</FrameLayout> 

Замечания: a_framelayout содержит LinearLayout а также another_framelayout содержит View,

Я получаю это:

просмотр дампа 2

Разве эти два макета не должны иметь индекс 3 и 4 соответственно вместо 0 и 2? И почему ScrollView между ними?

Если я изменю макет на:

<FrameLayout>

    <include layout="@layout/a_framelayout"/>

    <include layout="@layout/another_framelayout"/>

    <ScrollView>...</ScrollView>

    <LinearLayout>...</LinearLayout>

    <LinearLayout>...</LinearLayout>

</FrameLayout> 

Я получил:

просмотр дампа 3

Это имеет больше смысла, но теперь a_framelayout поменялся с another_framelayout, Зачем?

Хотя это странное поведение макета произошло, все виды были правильно отображены на экране, и макет работает как надо.

Любая подсказка?
Спасибо за ваше время.

0 ответов

Другие вопросы по тегам