【问题标题】:3 dots in the end of TextView are vertically centeredTextView 末尾的 3 个点垂直居中
【发布时间】:2021-06-25 12:07:28
【问题描述】:

当使用 android:ellipsize="end" 属性时,3 个点垂直居中而不是出现在视图底部。

如何让底部出现三个点?

<TextView
        android:id="@+id/widgetTitle"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        tools:text="@string/lorem_ipsum_short"
        android:maxLines="1"
        android:ellipsize="end"
        android:layout_marginStart="@dimen/spacing_4"
        android:paddingEnd="@dimen/spacing_2"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toStartOf="@id/widgetTimeArrived"
        app:layout_constraintStart_toStartOf="parent"
        />

How it looks

【问题讨论】:

  • 您好 VladD,欢迎来到 SO。请添加父布局(这个TextView是否包含在根ConstraintLayout中?widgetTimeArrived是什么?
  • 您是否也在使用自定义字体?我创建了一个普通的 ConstraintLayout + TextView,但没有看到同样的问题。
  • 字符串有问题我添加了直接文本Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit 并且没问题

标签: android xml kotlin android-layout android-fragments


【解决方案1】:

如果不访问您的完整布局,很难判断,但这不是标准行为,因此您可能正在使用自定义字体/主题。

这是它在带有 ConstraintLayout 的空白布局中的外观:

请注意,我将“结束”固定到父级,因为我不知道您的 widgetTimeArrived 是什么。

【讨论】:

  • 我忘了提到我正在使用自定义字体。 (mplus_2c fonts2u.com/m-2c-black.font) 但是当文本中有 '...' 时,点会正确对齐。仅当使用 ellipsize 属性时,点才对齐底部。
  • 省略号是单个字符,可能与连续三个句点字符不同,具体取决于字体。
  • 谢谢,马丁。我不知道,省略号是 Unicode 系统中的一个单独符号。所以这是自定义字体问题,而不是 XML 布局。
【解决方案2】:

通过实现您的代码,我得到了您的预期结果。我认为@Martin Marconcini 对某些自定义主题是正确的,或者可能是某些视图对齐或约束问题。您的完整 xml 可能有助于理解这一点。

结果如下:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 2023-03-11
    相关资源
    最近更新 更多