平衡多线TextView

mpk*_*uth 3 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"/>
Run Code Online (Sandbox Code Playgroud)

这样渲染

| Here is what it looks |
|         like          |
Run Code Online (Sandbox Code Playgroud)

但我希望它像这样呈现

|      Here is what     |
|     it looks like     |
Run Code Online (Sandbox Code Playgroud)

有没有办法在不自定义内置的情况下执行此操作TextView?如果没有,怎么可以TextView定制这样做?

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

mpk*_*uth 7

从API 23开始,TextView具有可用于实现此目的的中断策略连字频率设置.

<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"/>
Run Code Online (Sandbox Code Playgroud)

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

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

  • 我已经对此提出了两个错误:[请求支持库上的后退](https://code.google.com/p/android/issues/detail?id=203863)和[连字仅适用于英语](https :?//code.google.com/p/android/issues/detail ID = 203895). (2认同)