TextView排版混亂或者自動換行的問題

2021-07-05 17:23:20 字數 838 閱讀 4461

其實在textview中遇到排版自動換行而導致混亂不堪的情況是非常常見的,而且導致這種問題產生的原因就是英文和中文混合輸入,半形字元和全形字符混合在一起了。一般情況下,我們輸入的數字、字母以及英文標點都是半形字元,所以佔位無法確定,它們與漢字的佔位不同,由於這個原因,導致很多文字的排版都是參差不齊的。

原因找到了,自然解決方法就來了,一般有以下兩種方法來解決這種問題。

1、將textview中的字元全角化。即將所有的數字、字母及標點全部轉為全形字符,使它們與漢字同佔兩個位元組,這樣就可以避免由於佔位導致的排版混亂問題了。

半形轉為全形的**如下:

/*** 半形轉換為全形 *

* @param str

* @return

*/public static string todbc(string str)

if (c[i] > 65280 && c[i] < 65375)

c[i] = (char) (c[i] - 65248); }

return new string(c); }

2. 去除特殊字元或將所有中文標號替換為英文標號。利用正規表示式將所有特殊字元過濾,將中文標號替換為英文標號。

/*** 去除特殊字元或將所有中文標號替換為英文標號 *

* @param str

* @return

*/public static string stringfilter(string str)

**:

textView排版文字對齊

具有特殊字元半形全形字符時排版文字對齊 import android.content.context import android.graphics.canvas import android.graphics.paint import android.text.layout import andr...

Android開發之TextView排版問題

下面直接是關於解決該問題的 根據別人的 進行了修正以及測試,保證可以修改字型尺寸 顏色 根據padding調整,如果需要支援其他的格式可以將對應的屬性新增至paint型別的物件中 1 public class nstextview extends textview 2122 override 23p...

TextView排版問題解決

在專案開發中有些需求和在開發中的習慣不一樣,比如我們遇到的textview在設定了文字之後出現不該換行的時候換行的問題。網上搜尋了下大概有那麼幾種辦法,小菜也試了幾個,發現有的不顯示,有的達不到效果,後來想了想重新寫textview應該可以解決問題。廢話不多說,看下邊 override protec...