带有两个 TextView 和省略号的布局
Posted
技术标签:
【中文标题】带有两个 TextView 和省略号的布局【英文标题】:Layout with two TextViews and ellipsis 【发布时间】:2020-10-21 06:50:58 【问题描述】:我想在一行中创建一个包含两个 TextView 的布局。如果文本太长,我希望第一个 TextView 被省略。如果它们都可以放入行中,我希望它们表现得好像它们的宽度为 wrap_content
。我该怎么做?
这是我想要得到的结果:
[短文本1][文本2]
[非常长的 text1 必须被省略...][text2]
【问题讨论】:
【参考方案1】:创建两个视图的水平链,将最大线设置为左视图之一并将左视图的约束宽度设置为true
以使其保持在边界内:
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_
android:layout_
android:layout_margin="16dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView2"
android:layout_
android:layout_
android:ellipsize="end"
android:maxLines="1"
app:layout_constrainedWidth="true"
android:text="Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! "
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView"
android:layout_
android:layout_
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
【讨论】:
【参考方案2】:将 xml 布局中的这两行添加到可能需要省略号的 TextView 中。
android:ellipsize="end" android:maxLines="1"
【讨论】:
以上是关于带有两个 TextView 和省略号的布局的主要内容,如果未能解决你的问题,请参考以下文章
android 一行有多个textview 当内容过长时 怎么让第一个显示省略号 最后一个全部显示
如何设置滚动视图内并包含两个 TextView 的线性布局的可见性消失?
android textview 设置单行最大宽度和ellipsize省略号时整体变短的问题