尽管将 TextView 设置为统一,但它不会自动调整大小
TextView does not auto-size despite setting it to uniform
我正在尝试使用 TextView 的默认自动调整大小功能,但它不起作用。我希望我的 TextViews 的文本在移动到下一行时减小大小,尽管设置了 android:autoSizeStepGranularity="15dp"
,但我几乎看不出有任何区别。 2 个 TextViews 在 ImageView
之上
这是我的 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".TopImageFragment">
<ImageView
android:id="@+id/meme_image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/click"
android:scaleType="fitXY"
android:tag="img1"
/>
<TextView
android:id="@+id/top_text_view"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignTop="@id/meme_image_view"
android:layout_centerHorizontal="true"
android:autoSizeTextType="uniform"
android:autoSizeStepGranularity="15dp"
android:shadowColor="#000"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="2"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textAlignment="center"
android:fontFamily="@font/impact"
android:gravity="center"
android:textSize="50sp" />
<TextView
android:id="@+id/bottom_text_view"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/meme_image_view"
android:layout_centerHorizontal="true"
android:autoSizeTextType="uniform"
android:autoSizeStepGranularity="15dp"
android:shadowColor="#000"
android:shadowDx="1.5"
android:shadowDy="1.3"
android:shadowRadius="1.6"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textAlignment="center"
android:fontFamily="@font/impact"
android:gravity="center"
android:textSize="50sp" />
</RelativeLayout>
这是我所说的一个例子:
您的文本视图的高度设置为 wrap_content
。在更改文本大小之前,它们会自动增长以容纳所有文本。
根据您的用例选择其中之一(当然还有您自己的价值观):
android:layout_height="100dp"
或
android:layout_height="wrap_content"
android:maxHeight="100dp"
我正在尝试使用 TextView 的默认自动调整大小功能,但它不起作用。我希望我的 TextViews 的文本在移动到下一行时减小大小,尽管设置了 android:autoSizeStepGranularity="15dp"
,但我几乎看不出有任何区别。 2 个 TextViews 在 ImageView
这是我的 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".TopImageFragment">
<ImageView
android:id="@+id/meme_image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/click"
android:scaleType="fitXY"
android:tag="img1"
/>
<TextView
android:id="@+id/top_text_view"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignTop="@id/meme_image_view"
android:layout_centerHorizontal="true"
android:autoSizeTextType="uniform"
android:autoSizeStepGranularity="15dp"
android:shadowColor="#000"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="2"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textAlignment="center"
android:fontFamily="@font/impact"
android:gravity="center"
android:textSize="50sp" />
<TextView
android:id="@+id/bottom_text_view"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/meme_image_view"
android:layout_centerHorizontal="true"
android:autoSizeTextType="uniform"
android:autoSizeStepGranularity="15dp"
android:shadowColor="#000"
android:shadowDx="1.5"
android:shadowDy="1.3"
android:shadowRadius="1.6"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textAlignment="center"
android:fontFamily="@font/impact"
android:gravity="center"
android:textSize="50sp" />
</RelativeLayout>
这是我所说的一个例子:
您的文本视图的高度设置为 wrap_content
。在更改文本大小之前,它们会自动增长以容纳所有文本。
根据您的用例选择其中之一(当然还有您自己的价值观):
android:layout_height="100dp"
或
android:layout_height="wrap_content"
android:maxHeight="100dp"