TextView自動換行

2021-07-05 09:49:15 字數 845 閱讀 1952

發現android專案中的文字排版參差不齊的情況非常嚴重,不得不想辦法解決一下。經過研究之後,終於找到了textview自動換行導致混亂的原因了----半形字元與全形字符混亂所致!一般情況下,我們輸入的數字、字母以及英文標點都是半形,所以佔位無法確定。它們與漢字的佔位大大的不同,由於這個原因,導致很多文字的排版都是參差不齊的。對此找到了兩種辦法可以解決這個問題: 

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

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

* @param input

* @return */

public

static string todbc(string input) 

if (c[i] > 

65280 && c[i] 

65375)

c[i] = (

char) (c[i] - 

65248);

}return

new string(c);

}  2. 去除特殊字元或將所有中文標號替換為英文標號。利用正規表示式將所有特殊字元過濾,或利用replaceall()將中文標號替換為英文標號。則轉化之後,則可解決排版混亂問題。 

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

* @param str

* @return */

public

static string stringfilter(string str)   

解決之前層次不齊的排版截圖: 

解決之後的整齊排版,如下圖: 

Android中TextView自動換行問題

今天忽然發現android專案中的文字排版參差不齊的情況非常嚴重,不得不想辦法解決一下。經過研究之後,終於找到了textview自動換行導致混亂的原因了 半形字元與全形字符混亂所致!一般情況下,我們輸入的數字 字母以及英文標點都是半形,所以佔位無法確定。它們與漢字的佔位大大的不同,由於這個原因,導致...

解決TextView排版自動換行問題

今天忽然發現android專案中的文字排版參差不齊的情況非常嚴重,不得不想辦法解決一下。經過研究之後,終於找到了textview自動換行導致混亂的原因了 半形字元與全形字符混亂所致!一般情況下,我們輸入的數字 字母以及英文標點都是半形,所以佔位無法確定。它們與漢字的佔位大大的不同,由於這個原因,導致...

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

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