Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 从Spanned接口解释这些标志的定义(SPAN_COMPOSING,SPAN_USER等)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以清楚地解释 Android跨区Java界面中的标志吗? The documentation不清楚,我需要更多细节,就像在 this SO answer中解释其他标志一样.

请求以下标志的定义:

@H_301_4@SPAN_COMPOSING SPAN_INTERMEDIATE SPAN_POINT_MARK_MASK SPAN_PRIORITY SPAN_USER SPAN_user_SHIFT

解决方法

SPAN_COMPOSING是用于输入文本的标志,被认为是临时跨度,一旦输入完成就被删除,“此标志在用于在输入方法的撰写文本上应用临时样式信息的跨度上设置,以便在更换作曲文本时可以找到并删除它们.“

Here is an example of code使用SPAN_COMPOSING并将其从文本中删除;相关@L_616_10@引用如下:

@H_301_4@public static final void removeComposingSpans(SpAnnable text) { text.removeSpan(COMPOSING); Object[] sps = text.getSpans(0,text.length(),Object.class); if (sps != null) { for (int i = sps.length-1; i >= 0; i--) { Object o = sps[i]; if ((text.getSpanFlags(o) & SpAnned.SPAN_COMPOSING) != 0) { text.removeSpan(o); } } } } public static void setComposingSpans(SpAnnable text) { final Object[] sps = text.getSpans(0,Object.class); if (sps != null) { for (int i = sps.length - 1; i >= 0; i--) { final Object o = sps[i]; if (o == COMPOSING) { text.removeSpan(o); conTinue; } final int fl = text.getSpanFlags(o); if ((fl & (SpAnned.SPAN_COMPOSING | SpAnned.SPAN_POINT_MARK_MASK)) != (SpAnned.SPAN_COMPOSING | SpAnned.SPAN_EXCLUSIVE_EXCLUSIVE)) { text.setSpan(o,text.getSpanStart(o),text.getSpanEnd(o),(fl & SpAnned.SPAN_POINT_MARK_MASK) | SpAnned.SPAN_COMPOSING | SpAnned.SPAN_EXCLUSIVE_EXCLUSIVE); } } } text.setSpan(COMPOSING,SpAnned.SPAN_EXCLUSIVE_EXCLUSIVE | SpAnned.SPAN_COMPOSING); }

SPAN_INTERMEDIATE将被视为一个标志,用于在进行更改时临时分配范围,并在应用更改后删除. “这个标志将被设置用于中间跨度变化,这意味着保证跟随它的另一个变化.”

SPAN_POINT_MARK_MASK是一个位掩码,主要用于比较目的,以检查是否应用了符合条件的位状态.请参阅上面引用的@L_616_10@中的正确使用方法.

SPAN_PRIORITY是指用于更新目的的文本布局的优先级; API指出它只应在特殊情况下设置,因此无需由开发人员设置.

SPAN_USER和SPAN_user_SHIFT是存储区域,用于在开发人员选择使用时使用span存储其他自定义标量数据.

大佬总结

以上是大佬教程为你收集整理的android – 从Spanned接口解释这些标志的定义(SPAN_COMPOSING,SPAN_USER等)全部内容,希望文章能够帮你解决android – 从Spanned接口解释这些标志的定义(SPAN_COMPOSING,SPAN_USER等)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。