Лично я никогда не был поклонником ConstraintLayout, и мне проще и динамичнее использовать линейные и относительные макеты.
Вот один пример того, как вы можете создать этот макет, где он будет одинаковым независимо от экрана.
Вот как это выглядит (не обращая внимания на черный фон, я не мог потрудиться изменить глобальный стиль цвета текста)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/padding_view_normal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:padding="5dp">
<EditText
android:id="@+id/number1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="number1"
android:inputType="number" />
<EditText
android:id="@+id/number2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="number2"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5dp">
<ToggleButton
android:id="@+id/switch2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#fed136"
android:text="Radians"/>
<TextView
android:id="@+id/textView9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Radians"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView9"
app:layout_constraintTop_toBottomOf="@+id/switch3" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5dp">
<ToggleButton
android:id="@+id/switch3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Degree"
android:background="#fed136" />
<TextView
android:id="@+id/textView10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Degrees"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView9"
app:layout_constraintTop_toBottomOf="@+id/switch3" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="20dp">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="+"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="-"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button3"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="x"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button4"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="/"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button5"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="SQ"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button6"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="SR"
android:background="#fed136"
android:layout_margin="5dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button8"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="C"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button9"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="E"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button10"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="%"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button18"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="sin"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button19"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="cos"
android:background="#fed136"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button20"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="tan"
android:background="#fed136"
android:layout_margin="5dp"/>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp">
<TextView
android:id="@+id/sum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp" />
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:rating="5"
android:stepSize="5"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
</LinearLayout>
Недостатком, не считая наименования ваших видов, будет то, что очень маленькие экраны будут сжимать кнопки, чтобы они были тоньше. Я бы порекомендовал использовать что-то вроде GridView или FlexBox.