在Android TextView中设置动态换行符

时间:2016-10-04 09:04:58

标签: android

我有一个TextView,其中显示了我从JsonObject获取的电子邮件。

如果此电子邮件太长,它也会对单个字符使用第二行。 例如:

  

example.email@email.co

为了避免它,我想在我有更多行

的情况下设置换行符
  

example.email@email
.COM

1 个答案:

答案 0 :(得分:0)

假设您的最大长度为5 ..

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

在将其直接插入TextView之前,

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();

现在,您将如何修复maxLength?您必须使用试验和错误检查不同的屏幕尺寸。下面的代码将为您提供设备屏幕尺寸,您只需从AVD或物理设备检查以确定您要在字符串中折叠/放置新行的位置......

def filter(tweet):
   if criteria(tweet) is True:
      print json.dumps(tweet)

希望这会有所帮助。干杯!

[PS:有趣的是,我昨天写了一个switch-case块并且它工作不正常(总是进入默认块),我想知道我的代码出了什么问题,当我写你的问题时,我终于明白我错过了什么。 :p]