问题标签 [imagespan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
361 浏览

java - Android:如何将 ImageSpan 可绘制对象与 XML 资源可绘制对象进行比较?

我有一个问题很长时间找不到答案,如果您能提供帮助,我将不胜感激。

我有一个 TextEdit,我在文本之间添加了图标(表情符号)。图标存储在名为 imagesInTxt 的 ImageSpan[] 数组中。然后我遍历 ImageSpan[] 并尝试比较它的可绘制对象或它可以从 XML 提供给资源的任何常量值,例如:首先用作图标的 R.Drawable.Smiley。

问题是从 getResources().getDrawable(R.Drawable.smiley) 返回的唯一标识符与我从 imagesInTxt[x].getDrawable() 获得的标识符不匹配,尽管我们谈论的是完全相同的图标。

我不想也看不到使用 .SetTag() 和 .GetTag() 的方法,因为我是在 EditText 中处理 ImageSpan[] 而不是按钮本身,所以这个解决方案对我没有帮助。

我不想将 ImageSpan[] 直接与 ImageView 按钮进行比较。我需要以任何可能的方式将它与我使用的原始资源(例如:R.Drawable.xxxx)进行比较。

我怎样才能做到这一点?如果不可能,您可以建议什么作为替代解决方案?

0 投票
5 回答
3739 浏览

android - ImageSpan 不适用于 Android 5

我有这个功能在 Android 4.4.1 上运行良好,但在 5.0+ 上中断。

我像这样使用它:

这是getDrawable()上面引用的方法:

当我调试时,一切似乎都成功了,但没有绘制图像。有什么想法我可能做错了吗?

0 投票
1 回答
6135 浏览

android - 减少 ImageSpan 的高度和宽度

我将 Image Drawable 作为 SpannableString 设置为 TextView,但图像显示的比文本大,使其看起来很奇怪。我需要减小图像跨度的大小,使其与文本高度相同:

这是我尝试过的:

0 投票
3 回答
1281 浏览

android - Android:在 EditText 中插入位图

我想在附加的edittext中插入jpeg图像,如下所示。

Stackoverflow 推荐了这篇文章,但提供的参考项目不再有效。 如何在edittext android中插入jpeg文件

会有参考项目吗?

在此处输入图像描述

0 投票
3 回答
1436 浏览

android - Android 在 TextView 中使用 SpannableStringBuilder 显示图像 - 没有错误,但没有图像,只是纯文本

基本上我有这样一段

导带下能级$ec 和价带上能级$ev之间的差称为能带隙。

现在我正在尝试解析文本,以获取那些以 $ 为前缀的符号,并将它们替换为作为数学公式的小型 PNG 图像。它们只是像 Ev 和 Ec 这样的单/dbl 字母常量符号。它们在我的资产文件夹中。基本上这是代码

代码的快速总结是desc是我要解析的字符串。然后我使用正则表达式获取 $word 模式并使用matcher.match方法遍历文本。我使用一些 int 变量来跟踪这些符号之间的起点和终点,以仔细重建嵌入图像的原始字符串。现在代码

是我问题的症结所在。我是从关于这个问题的其他一些问题中得到的。他们说它有效。但它不在我的范围内。我已经在整个代码中设置了断点并逐行执行。没有任何错误。还是不行。

文本在文本视图中加载了额外的空格,我有意使用这些空格来识别它必须注入图像的位置。我的 TextView 是 Android Studio 中的小文本视图小部件。

0 投票
0 回答
468 浏览

android - 在 ImageSpan android 中设置文本

我想在以下位置创建类似的东西EditText

示例图像

它介于EditText两者ImageSpans之间。我使用BackgroundColorSpan. 但是,我无法达到相同的效果。我希望跨度表现得像“一个角色”。意味着,当按下退格键时应该删除整个跨度,当你点击它们时,光标应该在跨度的前面或后面。我能够实现退格,但不是另一个。

因此,我尝试使用ImageSpan它们按照我的意愿行事。但是,他们不显示文本。它们只显示一个彩色矩形。这是我正在使用的代码:

textView是相同颜色TextView的相同文本。例如红色背景中的“Day (numeric)”。当用户单击任何 时textViews,它将被添加到 editText 中,ImageSpan与相同的文本和背景颜色相同。

0 投票
0 回答
472 浏览

android - Android EditText 移除 Emojis

我刚刚构建了一个简单的聊天应用程序,它只包含一个EditText. 我设置inputTypetextShortMessage. 现在您可以输入表情符号了。

问题是在某些组合中甚至没有输入或消失表情符号。

代码看起来像这样(大部分是由 AndroidStudio 生成的,我添加了TextWatcher):

可以通过键盘输入字符和表情符号(ImageSpan我猜是)(我使用虚拟设备的标准键盘)。但有些组合不能按预期工作。

如果将光标放在普通字符后面但表情符号之前,然后尝试键入另一个表情符号,它将不会出现。

您可以尝试通过最后插入中间部分来生成以下模式(C 是字符,E 是表情符号):

这个问题似乎是由editText.setText(editText.getText()). 但我不知道,为什么这在大多数情况下都有效,但有时却无效。

++编辑++

如果您输入普通字符:X 为 1(或使用表情符号 2,因为它可能包含两个字符)小于 A 和 B。这也适用于

如果您引起问题:X = A = B

这很令人不安,因为这意味着 A 似乎“知道”文本将提前一行更改。通常,我希望如果该行导致问题,则该行(A)之前setText(...);的文本长度必须比 B 大 1(或 2)并且表情符号在. 但是 A = B 所以表情符号在到达之前就丢失了。setText(...); setText(...);

这也可以通过使用onTextChanged方法观察到。此方法中文本的​​长度(如果出错)等于文本更改前的长度(X)。似乎输入甚至没有注册。

0 投票
0 回答
516 浏览

android - 以编程方式在 ImageSpan 中设置可绘制对象?

除了将drawable传递给构造函数以在ImageSpan中设置drawable之外,还有其他方法吗?我找不到其他方法

0 投票
0 回答
115 浏览

android - 如何在 ImageSpan 中释放可绘制对象?

我在 Drawable 中没有找到任何释放对象的方法,但是在 SpannableStringBuilder 类中,我们可以调用 clearSpans() 和 clear() 来清除 SpannableStringBuilder 的实例。它们有帮助吗?

0 投票
2 回答
406 浏览

android - Android - 如何将大位图设置为 ImageSpan?

我尝试将大设置bitmap(720*18463)ImageSpan,但没有出现,问题是:

如何处理?

(另外,我想做一个富文本编辑器,可以在文本周围添加图像。)