Android TextView 多行问题(去掉第二行的gab)
Posted
技术标签:
【中文标题】Android TextView 多行问题(去掉第二行的gab)【英文标题】:Android TextView multiple line problem (remove gab in second line) 【发布时间】:2021-03-27 22:00:30 【问题描述】:有两个TextView,第二个TextView是多行的。 但是第二行前面有一个空隙。我想做如下
UserName Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World
请给我一些建议。 谢谢。
【问题讨论】:
【参考方案1】:你不直接做你需要使用下面的库
https://github.com/deano2390/FlowTextView
【讨论】:
【参考方案2】:您可以通过使用 SpannableString 将用户名和长文本附加到一起,使用单个文本视图以编程方式实现此行为。我在下面分享一个示例供您查看。
your_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_>
<TextView
android:id="@+id/txt_title"
android:layout_
android:layout_
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:fontFamily="@font/montserrat_regular"
android:textColor="@color/black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="test text" />
</android.support.constraint.ConstraintLayout>
在你的班级中,你可以像这样附加字符串:
你的活动
val userNameText = "User name "
val normalText = "Your long text Your long text Your long text Your long text"
val str = SpannableString(userNameText + normalText)
str.setSpan(
StyleSpan(Typeface.BOLD),
0,
boldText.length,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
)
txt_title.text = str
就是这样。您将完全得到您正在寻找的内容,此外您还可以为您的字符串添加任何样式。
【讨论】:
【参考方案3】:仅使用 1 个文本视图。
textView.setText(用户名 Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!你好,世界);
【讨论】:
以上是关于Android TextView 多行问题(去掉第二行的gab)的主要内容,如果未能解决你的问题,请参考以下文章
Android 并在 TableRow 的 TextView 中显示多行文本
Android TextView 不会用多行紧紧地拥抱文本,而是坚持使用 maxWidth