2016-02-29 3 views
1

Я хотел бы узнать, что является более эффективным способом размещения детей в RelativeLayout. Существует два способа сделать это:Лучший способ справиться с RelativeLayout

1) Поместите основной вид с абсолютным положением (например, layout_centerInParent или установите поля/paddings, соответствующие родительскому виду). После этого вы добавляете другие виды и устанавливаете их атрибуты, такие как android:layout_above="@id/relative_view_id" и размещаете их ниже относительный вид. Это не очень хорошо, потому что иерархия представлений в xml не соответствует тому, что вы видите в превью.

2) Вы назначаете детям атрибуты RelativeLayout с абсолютным id android:layout_above="@+id/relative_view_id" (+). Он обеспечивает правильный порядок просмотра в xml. BUT, если вы ищете декларацию с relative_view_id из кода Java (нажав cmd + B) Android Studio предлагает все виды, в которых вы указали @ + id. В нашем случае в результатах поиска также появится вид с атрибутом android:layout_above="@+id/relative_view_id".

Каков твой выбор Views в RelativeLayout?

+2

Очевидно, ** ** ** ('@ id /'). Ожидаемый реферал ('@ + id /') вводит служебные данные. –

+1

@BobMalooga #Big Man on Campus действительно действительно –

+1

@IntelliJAmiya Yessir ... :) –

ответ

2

Android: layout_above

позиции нижний край этой точки зрения выше данного вида якорь ID. Вмещает нижний край этого вида и верхний край анкера.

На ваш вопрос я бы предпочел No 1 way.

android:layout_above="@id/relative_view_id" 

Ее см уже сгенерированный идентификатор (relative_view_id).

Смежные вопросы