平衡多线TextView

时间:2015-10-28 16:49:08

标签: android textview android-wrap-content

我从这开始:

<TextView
    android:text="Here is what it looks like"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:gravity="center"/>

这样呈现:

| Here is what it looks |
|         like          |

但是我希望它像这样呈现:

|      Here is what     |
|     it looks like     |

有没有办法在不自定义内置TextView的情况下执行此操作?如果没有,如何定制TextView来执行此操作?

请注意,android:text值实际上是以编程方式填充的,并且内容/长度可能不同。我正在寻找适用于任何屏幕宽度的任何文本值的通用解决方案。

2 个答案:

答案 0 :(得分:7)

从API 23开始,TextViewbreak strategyhyphenation frequency设置可用于实现此目的。

<TextView
    android:text="Here is what it looks like"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:hyphenationFrequency="none"
    android:breakStrategy="balanced"
    android:gravity="center"/>

但是,对于API&lt; 23,我认为没有办法做到这一点。支持库版本23.1.0中的AppCompatTextView似乎不支持这些。

注意:Android Studio 1.4.1在预览窗口中未显示所需的包装行为(即使为预览选择了API 23),但可以在模拟的API 23设备中看到它。

答案 1 :(得分:1)

或者您也可以在layout_alignparent_left中设置重心。