Что означает "базовый уровень" при использовании в контексте относительной компоновки? Простой вопрос, возможно, но в документации и google нет никаких подсказок.
Какова базовая линия в RelativeLayout?
Ответ 1
Термин базовый уровень исходит из типографии. Это синие невидимые строковые буквы в тексте.
Например, представьте, что вы помещаете два элемента TextView
рядом друг с другом. Вы дадите второй TextView
большой отступ (скажем, 20dp). Если вы добавите layout_alignBaseline
ко второму элементу, текст будет "scoot up" для выравнивания с базовым уровнем первого элемента. Текст из обоих элементов будет выглядеть так, как если бы они были написаны на одной и той же невидимой строке.
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text1"
android:text="aatlg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:text="joof"
android:background="#00ff00"
android:padding="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/text1"
android:layout_alignBaseline="@id/text1"
/>
</RelativeLayout>
Ответ 2
Вот визуальное объяснение, которое может прояснить ответ Кристиана:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text1"
android:text="Lorem"
android:background="@android:color/holo_blue_light"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="Ipsum"
android:background="@android:color/holo_orange_light"
android:padding="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/text1"
<!-->>>>>>>--> android:layout_alignBaseline="@id/text1" />
</RelativeLayout>
Этот код будет выглядеть так:
Теперь, если я удалю атрибут android:layout_alignBaseline
, тот же макет выглядит следующим образом:
Интересно заметить, что на второй высоте зрения есть влияние (в первом случае прокладка не применяется к верхней части представления).