Android:TextView 出现奇怪的文本换行问题

标签 android android-layout user-interface textview word-wrap

我在 LinearLayout 中有一个 TextView。 TextView 的 XML

<TextView
    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:background="@color/CLOUDS"
    android:ellipsize="none"
    android:maxLines="100"
    android:minHeight="20dp"
    android:minLines="1"
    android:layout_margin="0dp"
    android:paddingLeft="4dp"
    android:paddingRight="4dp"
    android:paddingTop="0dp"
    android:textSize="14sp"
    android:paddingBottom="0dp"
    android:layout_weight="10"
    android:layout_height="wrap_content"
    android:layout_width="0dp"
    android:singleLine="false"
    android:scrollHorizontally="false"
    android:inputType="textCapSentences|textMultiLine"
    />

Error 1
在右侧,我们看到带有文本的 TextView 集:"Campanario Blanco\nMistral Ice\nMistral" 最后一个词没有显示。

在左边我们有另一个权重为 10 的 TextView 。 两者都放置在线性布局中。

    LinearLayout linearLayout = new LinearLayout(context.mContext);
    LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    ll.topMargin = 2;
    ll.bottomMargin = 0;
    linearLayout.setOrientation(LinearLayout.HORIZONTAL);
    linearLayout.setLayoutParams(ll);
    linearLayout.setPadding(0, 0, 0, 0);
    bubble.addView(linearLayout);

现在,如果我将 View 的内容更改为 "Campanario Blanco\nMistral Ice\nMistral\nMalibu" 现在可以看到“mistral”,但新的最后一个作品“Mailbu”不可见。

Error 2

如图所示,总行数等于\n 的总和,但未考虑第一个字符串的换行。 如果我们删除长文本,它会按预期工作。 “西北风冰\nMistral\nMalibu”

NO error

最佳答案

你可以有这样的东西,像这样使用

<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginTop="20dp"
     android:layout_marginRight="20dp"
     android:layout_marginLeft="20dp"
     android:padding="6dp"
     android:background="#358576"
     tools:context="com.example.yujcore7.myapplicationtextviewdemo.MainActivity">


<TextView
    android:textColor="#fff"
    android:textSize="20sp"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:text="Marca(s)" />

<TextView
    android:textColor="#fff"
    android:textAllCaps="true"
    android:textSize="16sp"
    android:layout_marginRight="10dp"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:text="Campanario Blanco\nMistral Ice\nMistral\nMalibu" />

使用此布局并告诉我。

关于Android:TextView 出现奇怪的文本换行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958056/

相关文章:

android - 如何在android中设置屏幕底部的标签?

java - 使用 CSS 为 Javafx 设计样式

java - 如何将浏览器用作 java 的 gui?

c - 实现自动补全 GktSourceCompletion

java - 匹配单词后跟空格和 N 个数字

android - 将 Android 分析监视器集成到 Appium 脚本中

android - 将多个字符串传递给 SharedPreferences

python - REST/JSON/XML-RPC/SOAP

android - 声明可由应用程序修改的库模块的属性

android - 如何在此 ConstraintLayout 中定位 View