2016-11-28 128 views
5

我有一個TextView固定寬度如下:防止Word斷

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:textSize="12sp" 
    tools:text="Health Department" 
    android:layout_marginTop="4dp" 
    android:maxLines="2" 
    /> 

...但它看起來像:

|Health Dep-| 
    | artment | 

...雖然我希望它是:

| Health | 
    |Department| 

我可以用什麼XML屬性來做到這一點?

+1

是否保證這兩個單詞每次都會在不同的行上?如果答案是肯定的,那麼你可以在你的字符串中使用「換行符」。把它寫成像這樣'tool:text =「Health \ nDepartment」' – androidtitan

+1

TextView的寬度取決於屏幕密度。如果沒有好的解決方案,這可能是一個很好的解決方法。謝謝你的提示! – Asym

回答

6

從api 23你可以選擇休息策略,並應該解決你的問題。

默認情況下,用於TextView的android使用BREAK_STRATEGY_HIGH_QUALITY,這是導致單詞使用連字符斷開。

如果您想避免這種情況,您可以將休息策略設置爲BREAK_STRATEGY_SIMPLE

你可以在api doc找到更多的信息。

我希望能幫到你。

3

這是Android 6版本(Marshmallow)中的一件新事物。

嘗試添加下面的代碼到你的TextView在XML佈局

android:hyphenationFrequency="none" 
3

我想申請在this answer我的整個應用程序的所有textviews提到的休息策略,並添加包含新的V23/styles.xml:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="Base.Widget.TextView" parent="android:Widget.TextView"> 
     <item name="android:breakStrategy">simple</item> 
    </style> 

</resources> 

而且我把我的themes.xml以下

<item name="android:textViewStyle">@style/Base.Widget.TextView</item> 
2

請嘗試在TextView中使用此工具,這對我有用

android:breakStrategy="simple"