【问题标题】:Split Text in multiple TextViews according to left space根据左侧空间在多个TextView中拆分文本
【发布时间】:2017-09-18 07:52:57
【问题描述】:

如何在两个 TextView 之间拆分字符串文本(蓝色的),以便它从一个 TextView 开始并在另一个 TextView 中继续当没有更多空间时 >。 两个TextView的最大宽度不一样

一个例子是填写表格。黑色文本是静态的(两个标签)。

另一种方法可能是只有一个 TextView (用于蓝色文本),它具有左右填充但仅用于第一行。 对于每个填充,填充大小将等于标签宽度。

【问题讨论】:

  • 你想达到什么目的?

标签: android android-layout textview android-view


【解决方案1】:

你应该以编程方式进行

    int textSize = 16;

    textView2.setTextSize(textSize);
    textView1.setTextSize(textSize);

    final float scale = getResources().getDisplayMetrics().density;
    int dpWidthInPx  = (int) (100 * scale);

    int countTv1Chars = dpWidthInPx / textSize;
    String tv1String = string.substring(0, countTv1Chars);
    String tv2String = string.substring(countTv1Chars, string.length() - 1);
    textView1.setText(tv1String);
    textView2.setText(tv2String);

在 xml 中

    <TextView

    android:id="@+id/tv1"
    android:lines="1"
    android:layout_width="100dp"
    android:layout_height="wrap_content" />

<TextView

    android:id="@+id/tv2"
    android:lines="1"
    android:layout_width="100dp"
    android:layout_height="wrap_content" />

【讨论】:

  • 回答问题时最好提供示例代码。
  • 如果可能,请提供,以便 OP 可以清楚地了解您的建议。
  • 最好是: 1. 第一行最后一个空格字符的子字符串,以避免截断最后一个单词。 2.在运行时获取TextView的视图宽度,而不是固定宽度100dp。
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 2021-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多