2015-02-03 4 views
0

У меня есть, скажем, три кнопки, которые я хотел бы перечислить ниже друг в друга в макете. В зависимости от устройства, размера экрана, плотности пикселей, ориентации и т. Д., Я хотел бы, чтобы кнопки охватывали всю высоту их родительского макета. Каждый из кнопок имеет фиксированную высоту (dp), поэтому более вероятно, что остовное пространство будет находиться между кнопками.Есть элементы одинаково охватывают всю ширину/высоту их RelativeLayout

Я видел несколько вопросов на разных форумах относительно того, как LinearLayout предположительно является исправлением этой проблемы, путем размещения макета для каждого элемента, имеющего макет. Я бы очень хотел, чтобы избежать раскладки макетов, и теперь я использую RelativeLayout, поэтому, если есть какой-то способ сделать это с этим типом макета, это будет очень полезно! :)

Кроме того, я хотел бы, чтобы верхняя и нижняя кнопки «касались» границы родительского макета сверху и снизу и последней (или отдыха) кнопки, чтобы равномерно заполнить остальную часть вертикального пространства.

Заранее спасибо.

ответ

0

Я не совсем уверен, что вы хотите достичь, но вы должны быть в состоянии сделать это с помощью LinearLayout & weights (так что вы не должны гнездиться несколько макетов).

Если вы хотите, 3 кнопки, чтобы занять весь родительский экран просто добавить weight каждому, например:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<Button 
    android:id="@+id/button_one" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"/> 

<Button 
    android:id="@+id/button_two" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"/> 

<Button 
    android:id="@+id/button_three" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"/> 

</LinearLayout> 
+0

Да, но это центрирует кнопки по направлению к вертикальной середине, я хотел бы, чтобы верхняя и нижняя кнопки касались границы макета родителя и последнего (или отдыха), чтобы заполнить остальные поровну. – Anfaje

+0

Кроме того, это растягивает кнопки, чтобы заполнить вертикальное пространство. Я пытаюсь растянуть пространство между кнопками. :) – Anfaje

0
  • Попытка установить в topButton поле в XML: android:layout_alignTop="true";
  • Try задать middleButton поле в XML: android:layout_centerVertical="true";
  • Try задать bottomButton поле в XML: android:layout_alignBottom="true";
+0

android: align_parent не существует? Это может быть правдой, хотя для трех кнопок. Если я хочу четыре или пять кнопок, этот подход не будет работать так же хорошо? :/ – Anfaje

+0

Извините. Дождитесь редактирования – GIGAMOLE

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