Android 不同语言的文本采用不同的高度

问题描述 投票:0回答:1

我们在应用程序中显示一些文本(例如在

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" />

Sample Image


具有两个相似文本视图但语言不同的虚拟布局 Sample2

如果问题描述中有任何遗漏,请告诉我。感谢您的宝贵反馈。


更新#1:

因为没有直接答案。我们将按照接受的答案中提到的方式限制卡片高度和文本高度。

android android-layout fonts textview
1个回答
1
投票

我只是认为原因可能来自您尝试在电视中渲染文本的字体。对于每种语言,由于语言规范的原因,字符大小的宽度和高度可能会有所不同。

您可以尝试使用默认的系统字体来检查是否仍然存在间距问题?

或者另一个建议是:

  • 使用
    autoSizeMaxTextSize
    autoSizeMinTextSize
    功能允许自动调整文本大小,以在可能的情况下修复
    textview
  • 为文本内容应用固定高度并添加额外的垂直空间,并根据需要添加
    android:ellipsize

仍然想知道:

  • 您的应用程序是否在 UI 上同时显示多种语言?
© www.soinside.com 2019 - 2024. All rights reserved.