Android TextView多行问题(去掉第二行的乱码)

Android TextView multiple line problem (remove gab in second line)

有两个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

请多多指教。 谢谢。

你不能直接做你需要使用下面的库

https://github.com/deano2390/FlowTextView

您可以使用 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_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/txt_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        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>

并且在您的 class 中您可以附加这样的字符串:

你的活动

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

就是这样。您将准确地得到您正在寻找的东西,此外您还可以为您的字符串添加任何样式。

仅使用 1 个文本视图。

textView.setText(用户名你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界!你好世界);