три горизонтальные кнопки с небольшим полем между ними с ConstraintLayout - PullRequest
0 голосов
/ 16 марта 2019

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

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

1 Ответ

2 голосов
/ 16 марта 2019

Для достижения этой цели в constraintLayout вы можете использовать барьеры / рекомендации / цепочки.

Самым простым решением будет использование цепочек:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frameLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Fragments.MenusDesign.ExpandableCategoriesMenu.ExpandableCategoriesMenu">


<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    app:layout_constraintBottom_toBottomOf="@+id/button2"
    app:layout_constraintEnd_toStartOf="@+id/button2"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/button2" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/button3"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toEndOf="@+id/button"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    app:layout_constraintBottom_toBottomOf="@+id/button2"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toEndOf="@+id/button2"
    app:layout_constraintTop_toTopOf="@+id/button2" />

...