测试所选文本在 EditText 中是否完全可见

问题描述

我有一个 EditText,它的可见区域是大约。 400 个字符和 15 行。该应用程序不断地将ca。使用所需的 setText() 将 1000 个字符放入其中,然后使用 setSelection() 选择其中的一部分。选择的最后一个字符始终是可见区域的最后一个字符。所选文本的问题在于它并不总是完全可见。例如,如果应用选择 500 个字符,则选择的开头将在可见区域之外。

有没有一种方法可以告诉我选择是否在不选择任何内容的情况下完全可见?类似 boolean EditText.isSelectionFullyVisible(int start,int end) 的东西。获得 false 后,我会调整 start 参数。

问这个是因为我自己不知道如何计算。

有两个难点:

  • 文本可以在行中间包含换行符
  • 有些字母没有其他字母那么宽(例如 wl

没有它们会很容易 - 我只需要确保选择不超过 400 个字符和 15 行。

这是布局文件中的声明:

<EditText
    android:id="@+id/textArea"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="2"
    android:maxLength="10000000"
    android:background="#ffffff"
    android:textIsSelectable="true"
    android:inputType="textMultiLine|textNoSuggestions" />

附言 我想我会根据以下问题实施一个解决方案:How to get only visible text from a EditText

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)