java - 尽管将 TextView 设置为统一,但它不会自动调整大小
问题描述
我正在尝试使用 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"
推荐阅读
- html - CSS为父div创建嵌套div框导致重叠
- javascript - React Native:由于 SoLoader 问题,应用程序在启动时崩溃
- linux - 如何在虚拟机(VM)中崩溃/注入故障?
- python - PyPDF2 输出不正确:缺少单词。编码问题?
- linux - 在 Eclipse 文件夹中时在 Linux 中找不到 Eclipse 命令
- swift - 传递 Codable 结构时无法推断通用参数“T”
- r - 如何为 ngram 列表创建频率表
- javascript - 在 Vue.config.js 中配置 Vue-SVG-Loader
- c# - 读取异常 xml 的节点 - XmlDocument - 表达式必须评估为节点集
- c# - C# 使用 ExecuteReader 时从存储的过程中捕获返回值