Я создал несколько карточек с изображением и текстом внутри. Я сделал границы вида карты как горизонтальные ориентиры, чтобы он автоматически настраивался для поддержки другого размера экрана.
Чтобы настроить изображение соответствующим образом, я сделал высоту и ширину изображения соответствующими родительским с некоторыми границами.
Но когда я настроил текст таким же образом, размер текста отличался от размера из-за разницы в символах. Есть ли способ решить эту проблему?
Мое требование - изображение и текст внутри cardview должны автоматически настраиваться, когда размер cardview изменяется с изменением размера экрана.
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/layout_background"
tools:context=".HomeActivity">
<androidx.cardview.widget.CardView
android:id="@+id/cardsenior"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_margin="0dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
app:cardCornerRadius="30dp"
app:layout_constraintBottom_toTopOf="@+id/guideline2"
app:layout_constraintDimensionRatio="w,13:15"
app:layout_constraintEnd_toStartOf="@+id/guideline12"
app:layout_constraintStart_toStartOf="@+id/guideline11"
app:layout_constraintTop_toTopOf="@+id/guideline1">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="25dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="40dp"
android:background="@drawable/circlepurple"
android:src="@drawable/senior_icon" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginHorizontal="8dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:textAlignment="gravity"
android:maxLines="1"
android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="6dp"
android:autoSizeMaxTextSize="25dp"
android:autoSizeStepGranularity="2dp"
android:fontFamily="@font/carter_one"
android:text="Senior Commitee"
android:textColor="@color/cardtext" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/cardaccounts"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_margin="0dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
app:cardCornerRadius="30dp"
app:layout_constraintBottom_toTopOf="@+id/guideline4"
app:layout_constraintDimensionRatio="13:15"
app:layout_constraintEnd_toStartOf="@+id/guideline12"
app:layout_constraintStart_toStartOf="@+id/guideline11"
app:layout_constraintTop_toTopOf="@+id/guideline3">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="25dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="40dp"
android:background="@drawable/circlered"
android:src="@drawable/accounts_icon" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginHorizontal="8dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:textAlignment="gravity"
android:maxLines="1"
android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="6dp"
android:autoSizeMaxTextSize="25dp"
android:autoSizeStepGranularity="2dp"
android:fontFamily="@font/carter_one"
android:text=" Accounts "
android:textColor="@color/cardtext" />
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>