【问题标题】:Balanced Multiline TextView平衡多行文本视图
【发布时间】:2015-10-28 16:49:08
【问题描述】:

我从这个开始:

<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 值实际上是通过编程方式填充的,并且内容/长度可能会有所不同。我正在寻找一种适用于任何屏幕宽度上的任何文本值的通用解决方案。

【问题讨论】:

  • 也许在你的 TextView 中添加内边距会帮助你实现接近这个目标

标签: android textview android-wrap-content


【解决方案1】:

从 API 23 开始,TextView 具有可用于实现此目的的 break 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 AppCompatTextView 23.1.0 版本的支持库似乎不支持这些。

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

【讨论】:

【解决方案2】:

或者你可以只用重心 layout_alignparent_left。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 2016-04-24
    • 2012-05-30
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    相关资源
    最近更新 更多