Android ImageSpans in Codename One TextFields



我正在将我的Android应用程序移植到iOS,我正在使用代号一。

在我的应用程序中,编辑文本可以包含与文本混合的图标。它是通过如下说明完成的:

MyImageSpan iconSpan=new MyImageSpan(activity, R.drawable.icon);
editText.getText().insert(caretPosition,CHAR);
editText.getText().setSpan(iconSpan,caretPosition,caretPosition+1,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

然后在其他部分中,必须检测跨度(如果存在(,并且执行如下:

Editable editable = editText.getText();
for (int i = 0; i < editable.length(); i = next) {
// find the next span transition
next = editable.nextSpanTransition(i, editable.length(), MyImageSpan.class);
// get all spans in this range
MImageSpan[] tempSpans = editable.getSpans(i, next, MyImageSpan.class);
...
...
//In my app that becomes really complex            
...
...
...
...
}

我尝试使用此在线工具:

http://fontello.com/

管理字体字形等图标,这似乎是代号一文档建议的。

事实上,我不明白是否可以在代号一的文本字段中使用不同字体的跨度,我不知道我是否可以在文本字段中找到和管理它们。

但最重要的是,从 svg 文件创建字体的在线工具对我不起作用,因为有些图标被还原,其他图标损坏或混淆,其他图标很小,具体取决于保存格式(最终我保存为纯 SVG 格式以避免出现问题,但它是一样的(。

我要问的是如何处理代号一中文本字段中的跨度。 它不必是相同的"方式",但结果必须是相同的。

这行不通。富文本编辑在平台之间差异太大,并非普遍可用。由于编辑组件是使用本机小部件实现的,因此很难始终如一地抽象这样的东西,而且实际上是不可能的。

但是,Web工具已经解决了这个问题,并且包括一些可以工作的跨平台丰富的编辑工具。您只需使用这些工具之一,即可在应用中嵌入BrowserComponent。然后在浏览器组件中执行丰富的编辑。

过去,我们使用 CK 编辑器做了它,但这个库现在已经过时了,所以我不确定它的效果如何。不过,创建这样的东西应该相对容易。

相关内容

  • 没有找到相关文章

最新更新