android - 使用 SpannableStringBuilder 添加图像跨度后,如何防止光标在 EditText (MultiAutoCompleteTextView) 中调整大小?

标签 android android-edittext spannablestring spannable

这是一开始我没有添加任何 imagespan 芯片时的样子 -

enter image description here

如您所见,光标放置在正确的大小并且重力受到尊重。

然后当我添加一个 imagespan 时,光标突然变大,就像这样 -

enter image description here

我不明白为什么会这样,我也不知道如何解决它,即保持光标大小不变。

最后,当我再次开始输入时,光标变得很奇怪,同时保持字体的大小,跨度也稍微移动到底部。我真的很想保持光标大小相同并居中

enter image description here

我知道使用填充来调整 textCursorDrawable 的大小。这有两个潜在的问题 - 1. 它的 API 12+(我们支持 9 及更高版本),但这不是什么大问题 2. 我找不到以编程方式重置它的方法,只能在 xml 定义中看到对它的访问。

有什么想法吗?

最佳答案

ImageSpan 在添加后可能会更改行高。如果您设置的行高大于图像跨度,我感觉您的光标将保持恒定大小(但仍然很大)。此时您可以添加填充以将其缩小到您想要的较小尺寸,并且它应该保持不变。

(我没有机会测试我刚刚写的东西,所以它只是一个理论)

关于android - 使用 SpannableStringBuilder 添加图像跨度后,如何防止光标在 EditText (MultiAutoCompleteTextView) 中调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21706567/

相关文章:

android - 按下后退按钮时显示 toast 但 ondestroy() 不工作

java - 如何在 Android 的内部存储上创建一个文件夹并在该文件夹中写入一个简单的 .txt 文件

android - 将按钮样式设置为看起来像 EditText(但仍然表现得像按钮)

java - 如何比较两个 EditText 字符串然后在 Android 中突出显示不同之处?

java - 如何突出显示 EditText 中的多个单词?

android - 如何使用异步返回字符串

java - Android ListAdapter 显示正确,但随后给出 NullPointer。为什么?

Android - 滚动时防止键盘消失

安卓:输入类型;有什么区别?

android - 按钮上的 SpannableString 不适用于 API21?