切换选择内容和文字

问题描述

我正在使用SpannableString制作文本编辑器,其中包含lineHeightbaselineshift之类的属性。为此,我使用StyleSpanLineHeightSpan

问题在于,高亮显示选项或文本光标与文本之间似乎有所偏移。因此,它给了我一些奇怪的行为,如下所示:

Weird behaviour

更烦人的是,我必须点击/选择突出显示区域,以选择/编辑相应的文本。

如何避免这种转变?看来布局没有使用textPaint并牢记原始文本。

谢谢您的帮助,祝您愉快!

编辑:信息

问题似乎出在我对marginBottom的实现上。为此,我使用LineHeightSpan如下:

class LineHeightFactorSpan(
    private val marginBottom: Int
) : LineHeightSpan {
    
    override fun chooseHeight(
        text: CharSequence?,start: Int,end: Int,spanstartv: Int,lineHeight: Int,fm: FontMetricsInt?
    ) {


        fm?.let {
            it.descent = it.descent + marginBottom
            it.bottom = it.descent + marginBottom
        }
    }
}

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...