Вы используете размеры фиксированного размера в своих представлениях (android:layout_width="53dp"
), и поскольку разные телефоны имеют разные размеры экрана, использование значений фиксированного размера в макете сделает его не реагирующим на все размеры экрана.
Как исправить:
Вы можете использовать эти атрибуты, чтобы сделать ваши представления отзывчивыми по размеру:
app:layout_constraintHeight_percent="0.xx"
app:layout_constraintWidth_percent="0.yy"
Это сделает ваши представления отзывчивыми к размеру экрана (не имеет значения, какой экранразмер)
Пример:
<?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"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:id="@+id/listItemSubject"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintHeight_percent="0.10"
app:layout_constraintWidth_percent="0.25"
android:gravity="center"
android:text="Subject: "
android:textSize="16sp"
app:fontFamily="sans-serif-medium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/listItemText"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:text="Content: "
android:textSize="12pt"
app:layout_constraintHeight_percent="0.1"
app:fontFamily="sans-serif-condensed-light"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/listItemSubject" />
<TextView
android:id="@+id/listItemLikes"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:text="Yums: "
android:textSize="12pt"
app:layout_constraintHeight_percent="0.1"
app:fontFamily="sans-serif-light"
app:layout_constraintEnd_toEndOf="@+id/likeImage"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/likeImage" />
<TextView
android:id="@+id/listItemYucks"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="center"
app:layout_constraintHeight_percent="0.1"
android:text="Yucks: "
android:textSize="12pt"
app:fontFamily="sans-serif-light"
app:layout_constraintEnd_toEndOf="@+id/YuckImage"
app:layout_constraintStart_toStartOf="@+id/YuckImage"
app:layout_constraintTop_toBottomOf="@+id/YuckImage" />
<ImageButton
android:id="@+id/likeImage"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="center"
app:layout_constraintHeight_percent="0.10"
app:layout_constraintLeft_toLeftOf="@+id/listItemSubject"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/listItemSubject"
app:layout_constraintWidth_percent="0.25" />
<ImageButton
android:id="@+id/YuckImage"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="center"
android:padding="0dp"
android:scaleType="fitCenter"
app:layout_constraintHeight_percent="0.10"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/listItemSubject"
app:layout_constraintWidth_percent="0.25" />
</androidx.constraintlayout.widget.ConstraintLayout>
Как это будет выглядеть:
![enter image description here](https://i.stack.imgur.com/OpUWr.png)
Вот еще один вариант, который вы можете использовать:
Если вы не хотите использовать первое решение, вы всегда можете использовать sdp :
Эта единица измерения размера зависит от размера экрана. Это может помочь разработчикам Android с поддержкой нескольких экранов.