Изменение размера объектов 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>