Изменение размера объектов layout пропорционально экрану устройства

Имеется GridLayout с 12 кнопками. На устройствах с большими экранами отображается нормально, а вот на устройствах с маленькими - layout начинает закрывать другие элементы, находящиеся выше. Как сделать, чтобы объекты внутри layout имели размер, пропорциональный экрану?

<?xml version="1.0" encoding="utf-8"?>
<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/ConstraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
    android:id="@+id/balance"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="4dp"
    android:layout_marginTop="4dp"
    android:layout_marginBottom="24dp"
    android:text="@string/balance"
    android:textColor="#000000"
    android:textSize="24sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editText"
    app:layout_constraintVertical_bias="0.0" />

<EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="1dp"
    android:layout_marginTop="8dp"
    android:backgroundTint="#000000"
    android:digits="1234567890"
    android:ems="10"
    android:hint="@string/hint"
    android:inputType="number|textPersonName"
    android:textColor="#000000"
    android:textColorHint="#B2000000"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/doublebtn"
    app:layout_constraintVertical_bias="0.0" />

<Button
    android:id="@+id/betbtn"
    android:layout_width="130dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:background="@drawable/betbtn"
    android:text="@string/makebet"
    android:textSize="14sp"
    app:layout_constraintBottom_toBottomOf="@+id/editText"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toEndOf="@+id/editText" />

<Button
    android:id="@+id/doublebtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="24dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/dublbtn"
    android:enabled="false"
    android:text="@string/mdouble"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="@+id/editText"
    app:layout_constraintTop_toBottomOf="@+id/playerBet"
    app:layout_constraintVertical_bias="0.0" />

<Button
    android:id="@+id/morebtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/morebtn"
    android:enabled="false"
    android:text="@string/more"
    app:layout_constraintBottom_toTopOf="@+id/editText"
    app:layout_constraintEnd_toStartOf="@+id/dostatbtn"
    app:layout_constraintStart_toEndOf="@+id/doublebtn"
    app:layout_constraintTop_toTopOf="@+id/doublebtn"
    app:layout_constraintVertical_bias="0.0" />

<Button
    android:id="@+id/dostatbtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="24dp"
    android:background="@drawable/stopbtn"
    android:enabled="false"
    android:text="@string/dostat"
    app:layout_constraintBottom_toBottomOf="@+id/morebtn"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/morebtn" />


<TextView
    android:id="@+id/playerBet"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="4dp"
    android:text="@string/bet"
    android:textColor="#000000"
    android:textSize="30sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.26" />

<TextView
    android:id="@+id/kroopyeText"
    android:layout_width="350dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="4dp"
    android:text="@string/kroopye"
    android:textColor="#000000"
    android:textSize="25sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.13" />

<TextView
    android:id="@+id/playerText"
    android:layout_width="350dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="4dp"
    android:text="@string/player"
    android:textColor="#000000"
    android:textSize="25sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.19999999" />

<TextView
    android:id="@+id/gameStatus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:text="@string/gamestatus"
    android:textColor="#000000"
    android:textSize="30sp"
    app:layout_constraintBottom_toTopOf="@+id/morebtn"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0" />

<TextView
    android:id="@+id/reasonText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/reasons"
    android:textColor="#000000"
    android:textSize="22sp"
    app:layout_constraintBottom_toTopOf="@+id/morebtn"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/gameStatus"
    app:layout_constraintVertical_bias="0.0" />

<Button
    android:id="@+id/removebtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:background="@drawable/stopbtn"
    android:text="@string/remove"
    app:layout_constraintBottom_toTopOf="@+id/layoutforbuttons"
    app:layout_constraintEnd_toEndOf="@+id/layoutforbuttons"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="@+id/layoutforbuttons" />

<Button
    android:id="@+id/halfbetbtn"
    android:layout_width="88dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:background="@drawable/stopbtn"
    android:text="@string/halfbet"
    android:textSize="10sp"
    android:visibility="invisible"
    app:layout_constraintBottom_toTopOf="@+id/layoutforbuttons"
    app:layout_constraintEnd_toEndOf="@+id/layoutforbuttons"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="@+id/layoutforbuttons" />

<Button
    android:id="@+id/fullbetbtn"
    android:layout_width="88dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:background="@drawable/dublbtn"
    android:text="@string/fullbet"
    android:textSize="10sp"
    app:layout_constraintBottom_toTopOf="@+id/layoutforbuttons"
    app:layout_constraintEnd_toEndOf="@+id/layoutforbuttons"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="@+id/layoutforbuttons" />

<Button
    android:id="@+id/randombetbtn"
    android:layout_width="88dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:background="@drawable/morebtn"
    android:text="@string/randombet"
    android:textSize="10sp"
    app:layout_constraintBottom_toTopOf="@+id/layoutforbuttons"
    app:layout_constraintEnd_toEndOf="@+id/layoutforbuttons"
    app:layout_constraintStart_toStartOf="@+id/layoutforbuttons" />

<GridLayout
    android:id="@+id/layoutforbuttons"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:orientation="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/balance"
    app:layout_constraintVertical_bias="0.6">

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="0"
        android:layout_column="0"
        android:layout_marginEnd="10dp"
        android:background="@drawable/fishkagreen"
        android:text="@string/b1"
        android:textColor="#FFFFFF"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="0"
        android:layout_column="1"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="10dp"
        android:background="@drawable/fishkagreen"
        android:text="@string/b2"
        android:textColor="#FFFFFF"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="0"
        android:layout_column="2"
        android:background="@drawable/fishkagreen"
        android:text="@string/b3"
        android:textColor="#FFFFFF"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="1"
        android:layout_column="0"
        android:background="@drawable/fishkablue"
        android:textColor="#FFFFFF"
        android:text="@string/b4"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="1"
        android:layout_column="1"
        android:layout_marginBottom="10dp"
        android:textColor="#FFFFFF"
        android:background="@drawable/fishkablue"
        android:text="@string/b5"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="1"
        android:textColor="#FFFFFF"
        android:layout_column="2"
        android:background="@drawable/fishkablue"
        android:text="@string/b6"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="2"
        android:layout_column="0"
        android:textColor="#FFFFFF"
        android:background="@drawable/fishkared"
        android:text="@string/b7"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="2"
        android:textColor="#FFFFFF"
        android:layout_column="1"
        android:layout_marginBottom="10dp"
        android:background="@drawable/fishkared"
        android:text="@string/b8"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="2"
        android:textColor="#FFFFFF"
        android:layout_column="2"
        android:background="@drawable/fishkared"
        android:text="@string/b9"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="3"
        android:layout_column="0"
        android:textColor="#FFFFFF"
        android:background="@drawable/fishkablack"
        android:text="@string/b10"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="3"
        android:textColor="#FFFFFF"
        android:layout_column="1"
        android:background="@drawable/fishkablack"
        android:text="@string/b11"
        android:textSize="18sp" />

    <Button
        android:id="@+id/btn12"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="3"
        android:layout_column="2"
        android:textColor="#FFFFFF"
        android:background="@drawable/fishkablack"
        android:text="@string/b12"
        android:textSize="18sp" />

</GridLayout>

<Switch
    android:id="@+id/switch1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

<Switch
    android:id="@+id/switch3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

<Switch
    android:id="@+id/switch2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="1.0" />

   </androidx.constraintlayout.widget.ConstraintLayout>

Ответы (0 шт):