【问题标题】:How to get text from EditText as it displayed on the screen (with line wraps)如何从 EditText 获取屏幕上显示的文本(带换行)
【发布时间】:2018-02-23 22:16:29
【问题描述】:

如何从多行EditText中逐行获取文本,因为它显示在屏幕上?

例如,如果您在 EditText (不带\n 中插入长文本,它将显示为几行。如何知道系统在哪里插入换行?

【问题讨论】:

    标签: android android-edittext multiline


    【解决方案1】:

    如果使用EditText.getLayout()是可能的:

    String text = editText.getText().toString();
    List<String> lines = new ArrayList<>();
    for (int i = 0; i< editText.getLayout().getLinesCount(); i++) {
        lines.add(text.substring(editText.getLayout().getLineStart(i), 
                 editText.getLayout().getLineEnd(i));
    }
    

    EditText.getLayout() 也有返回行大小的方法:

    getLineWidth()
    getLineBounds()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-29
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多