Android 不同语言的文字高度不同
Android Text in different language take different height
我们正在我们的应用程序中显示一些文本(比如 RecyclerView
和 GridLayoutManager
)。此文本以不同语言显示,如下图突出显示。因此,TextView
的高度因不同的语言字体采用不同的间距而不同。
请参考下面的示例图片和绘制文本视图所需的代码。
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv_title_one"
android:layout_width="0dp"
app:layout_constraintWidth_percent="0.5"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:fontFamily="@font/lato_bold"
android:gravity="start"
android:maxLines="3"
android:minLines="1"
android:singleLine="false"
android:includeFontPadding="false"
android:textColor="#541388"
android:letterSpacing="0"
android:lineSpacingExtra="0dp"
android:textSize="32sp"
android:textStyle="normal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Class 12th (Biology) 2021 - 2022" />
具有两个相似文本视图但语言不同的虚拟布局
如果问题描述中有任何遗漏,请告诉我。感谢您提出宝贵意见。
更新 #1:
因为没有直接的答案。我们将按照已接受的答案中的说明对卡片高度和文本高度进行限制。
我只是认为原因可能来自您在这台电视中尝试用于渲染文本的字体。对于每种语言,由于语言规范的原因,字符大小在宽度和高度之间可能会有所不同。
您能否尝试使用默认系统字体来检查您是否仍然存在间距问题?
或者另一个建议是:
- 使用
autoSizeMaxTextSize
、autoSizeMinTextSize
功能允许自动调整文本大小以尽可能修复 textview
。
- 为您的文本内容应用固定高度和额外的垂直 Space,并根据需要添加
android:ellipsize
。
还在想:
- 您的应用是否在 UI 上同时显示多种语言?
我们正在我们的应用程序中显示一些文本(比如 RecyclerView
和 GridLayoutManager
)。此文本以不同语言显示,如下图突出显示。因此,TextView
的高度因不同的语言字体采用不同的间距而不同。
请参考下面的示例图片和绘制文本视图所需的代码。
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv_title_one"
android:layout_width="0dp"
app:layout_constraintWidth_percent="0.5"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="10dp"
android:fontFamily="@font/lato_bold"
android:gravity="start"
android:maxLines="3"
android:minLines="1"
android:singleLine="false"
android:includeFontPadding="false"
android:textColor="#541388"
android:letterSpacing="0"
android:lineSpacingExtra="0dp"
android:textSize="32sp"
android:textStyle="normal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Class 12th (Biology) 2021 - 2022" />
具有两个相似文本视图但语言不同的虚拟布局
如果问题描述中有任何遗漏,请告诉我。感谢您提出宝贵意见。
更新 #1: 因为没有直接的答案。我们将按照已接受的答案中的说明对卡片高度和文本高度进行限制。
我只是认为原因可能来自您在这台电视中尝试用于渲染文本的字体。对于每种语言,由于语言规范的原因,字符大小在宽度和高度之间可能会有所不同。
您能否尝试使用默认系统字体来检查您是否仍然存在间距问题?
或者另一个建议是:
- 使用
autoSizeMaxTextSize
、autoSizeMinTextSize
功能允许自动调整文本大小以尽可能修复textview
。 - 为您的文本内容应用固定高度和额外的垂直 Space,并根据需要添加
android:ellipsize
。
还在想:
- 您的应用是否在 UI 上同时显示多种语言?