我有一個客戶端套接字發送一些行(ANSI編碼),形成一個形狀。問題是在log cat中,當我打印出線條時,它們形成了一個完整的形狀,但是在我的Layout中,即使它們具有相同的長度,textviews也不會形成該形狀。我可以看到問題在於空格字符的字節大小。但是因爲我可以在日誌貓上看到它,所以必須有一種方法來設置文字視圖以形成完整的形狀。我嘗試用 替換所有空格字符,並將文本設置爲html格式,但仍然沒有運氣。有沒有我失蹤的方法?安卓字符大小
class ClientThread implements Runnable {
private BufferedReader input;
@Override
public void run() {
// TODO Auto-generated method stub
try {
InetAddress servAddress = InetAddress.getByName(SERVER_IP);
socked = new Socket(servAddress, SERVERPORT);
input = new BufferedReader(new InputStreamReader(socked.getInputStream(), "windows-1252"));
while(!Thread.currentThread().isInterrupted()) {
String read = input.readLine();
updateConversationHandler.post(new updateUIThread(read));
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class updateUIThread implements Runnable {
String msg;
public updateUIThread (String str) {
this.msg = str;
}
@Override
public void run() {
// TODO Auto-generated method stub
TextView tv = new TextView(cont);
tv.setTextColor(Color.WHITE);
// tv.setText(makeTextWithColors(msg));
// tv.setText(msg + "count: " + msg.length());
tv.setText(msg);
screen.addView(tv);
scroller.post(new Runnable() {
public void run() {
scroller.smoothScrollTo(0, screen.getBottom());
}
});
}
}
您是否在談論ASCII藝術? – Merlevede
使用等寬字體。確保你使用的是UTF-8編碼。或使用「標誌性字體」(這是一種特殊的字體,具有特殊符號) –