2016-10-04 78 views
0

我有一個TextView,在那裏顯示我從JsonObject獲取的電子郵件。在Android TextView中設置動態換行符

如果這封電子郵件太長,它也會對單個字符使用第二行。 例如:

[email protected]

爲了避免它,我想提出換行符在那些其中我有更多的線

[email protected]
.com

+0

到目前爲止您嘗試了哪些方法? – npace

+0

我不知道我可以試試。 –

+0

請注意,在這種情況下,您的問題可能被標記爲過於籠統。此外,這是一個非常複雜的任務,但我找不到有效的用例。您可以使用其他方法解決客戶端問題,例如將TextView的「ellipsize」屬性設置爲「結束」或「選取框」。 – npace

回答

0

假設您的最大長度是5 ..

int maxLength = 5; 
String jsonReturnedData = "Hello World" 

將其插入直接TextView的前,

jsonReturnedData = jsonReturnedData.substring(0, maxLength) + "\n" + jsonReturnedData.substring(maxLength, jsonReturnedData.length()); 

現在,你打算怎麼解決的最大長度?您必須針對不同的屏幕尺寸使用試用和錯誤進行檢查。下面的代碼會給你的設備屏幕大小,你所要做的就是要摺疊/提出了新線在你的字符串從AVD或物理設備檢查,以實際解決......

int screenSize = getResources().getConfiguration().screenLayout & 
    Configuration.SCREENLAYOUT_SIZE_MASK; 

String toastMsg; 
switch(screenSize) { 
    case Configuration.SCREENLAYOUT_SIZE_LARGE: 
     toastMsg = "Large screen"; 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_NORMAL: 
     toastMsg = "Normal screen"; 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_SMALL: 
     toastMsg = "Small screen"; 
     break; 
    default: 
     toastMsg = "Screen size is neither large, normal or small"; 
} 
Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show(); 

希望這幫助。乾杯!我寫了一個開關盒塊,它不能正常工作(總是進入默認塊),我想知道我的代碼出了什麼問題,當我爲你的問題寫信時,我終於明白我錯過了什麼。 :p]