Почему (черт возьми) не левый край RadioButton
правильно выровнен с серым квадратным левым краем?Почему RelativeLayout не применяет layout_alignLeft с видом layout_centerInParent?
Это какое-то ограничение или ошибка RelativeLayout
, препятствующая выравниванию вида к другому виду с центром в родительском?
Что было бы самым чистым обходным путем?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_orange_dark">
<View
android:id="@+id/square"
android:layout_width="200dip"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:background="@android:color/darker_gray"/>
<RadioButton
android:layout_alignLeft="@id/square"
android:text="Radio button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light"/>
<View
android:layout_width="300dp"
android:layout_height="20dp"
android:layout_centerInParent="true"
android:background="@android:color/holo_green_light"
/>
</RelativeLayout>
Действительно, установка ширины RelativeLayout в качестве match_parent решает проблему выравнивания. Но, конечно, это также изменяет поведение этого RelativeLayout внутри его родителя. I * нужна * ширина RelativeLayout для wrap_content, поскольку она является частью более крупного макета. –
Проверьте обновленный код. Спасибо –
Действительно, трюк использования дополнительного 'RelativeLayout' дает ожидаемый результат. Хотя я действительно не получаю ваше объяснение «в противном случае android: layout_alignLeft =« @ id/square »пытается выровнять его слева от вашего квадрата« Просмотр ». –