- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个自定义应用内键盘,其工作原理与 this example 相同.但是,在我的键盘中,我使用弹出窗口来显示额外的字母形式。在 traditional Mongolian字母有不同的形式,这取决于它们位于单词的开头、中间还是结尾。通常这些可以从上下文中确定,但有时用户需要从弹出键候选者中明确选择替代形式。
假设用户开始输入一个单词(其中 -
代表字母):
---
然后他们从弹出窗口中选择了a
(我只是使用a
来表示选择特殊蒙古字形的概念)。如果他们继续输入,这封信的 Unicode 将呈现如下:
---a--
但是,Unicode 呈现为
---A
在词尾。 (a
和 A
在 Unicode 中具有相同的代码。)所以用户很困惑为什么他们从弹出键中选择了 a
但是它被渲染了作为编辑器中的 A
。不过,如果他们继续打字,那就没问题了,因为它会在单词中间呈现为 a
。
我想做的是在 ---a
的 a
上设置某种临时跨度,这样它就不会呈现为 - --A
在他们键入下一个字母之前。但是如果他们添加一个空格或将光标移动到不同的位置,那么它将恢复为默认的 ---A
形式的最后一个字母。 (即取消临时跨度。)
实例
如果抽象的a
和A
太容易混淆,这里有一个真实的例子。用户想在这个词中输入蒙古文UE
形式(Unicode \u1826\u180c
)
但是因为 \u1826\u180c
在单词的末尾被渲染成这样
用户在继续输入之前会感到困惑。我想让 span 看起来像这样
可以用\u1826\u180c\u200d
临时渲染。
If your IME does text prediction or requires multiple steps to compose a glyph or word, you can show the progress in the text field until the user commits the word, and then you can replace the partial composition with the completed text.
它给出了这个例子和图片:
InputConnection ic = getCurrentInputConnection();
ic.setComposingText("Composi", 1);
ic.setComposingText("Composin", 1);
ic.commitText("Composing ", 1);
我打算在本节中描述它为什么不起作用,但在此处设置问题的过程中,我发现它确实有效。所以我将在下面添加我的答案作为其他人做类似事情的例子。
最佳答案
以下代码设置了一个临时的 composing span当弹出窗口返回有问题的字符串时
if (selectedItem.equals("a")) {
inputConnection.setComposingText("a", 1);
}
其中 selectedItem
是用户从关键弹出窗口候选中选择的字符串。
请注意,a
有一个下划线,表明它是一个组合跨度。 (这是一个人为的例子,如果立即提交文本,a
将呈现为 A
。)
这也适用于问题中的真实示例
if (selectedItem.equals("\u1826\u180c")) {
inputConnection.setComposingText("\u1826\u180c\u200d", 1);
}
当确认用户想要保持书写跨度(即,他们继续在单词中输入更多字母)时,可以提交
inputConnection.commitText("\u1826\u180c", 1);
如果用户点击其他地方,合成跨度不会被取消。但这是一个不同的问题。
您的键盘可以覆盖 onUpdateSelection
以监听那里的光标更改。然后调用
inputConnection.finishComposingText();
保留组成区域中的任何文本。或者
ic.commitText("", 1);
摆脱它。参见 this answer了解更多。
关于android - 通过 Android 中的自定义键盘在 EditText 上设置撰写文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45204305/
表架构 DROP TABLE bla; CREATE TABLE bla (id INTEGER, city INTEGER, year_ INTEGER, month_ INTEGER, val I
我需要拆分字符串/或从具有以下结构的字符串中获取更容易的子字符串。 字符串将来自 window.location.pathname 或 window.location.href,看起来像 text/n
每当将对象添加到数组中时,我都会尝试更新 TextView ,并在 TextView 中显示该文本,如下所示: "object 1" "object 2" 问题是,每次将新对象添加到数组时,它都会覆盖
我目前正在寻找使用 Java 读取网站可见文本并将其存储为纯文本字符串的方法。 换句话说,我想转换成这样: Hello stupid World进入“ Hello World ” 或者类似的东西 Un
我正在尝试以文本和 HTML 格式发送电子邮件,但无法正确发送正确的 header 。特别是,我想设置 Content-Type header ,但我找不到如何为 html 和文本部分单独设置它。 这
我尝试了上面的代码,但我无法绑定(bind)文本,我怎样才能将资源内部文本 bloc
我刚刚完成了 Space Shooter 教程,由于没有 GUIText 对象,所以我创建了 UI.Text 对象并进行了相应的编码。它在统一播放器中有效,但在构建 Web 应用程序后无效。我花了一段
我有这个代码: - (IBAction)setButtonPressed:(id)sender { NSUserDefaults *sharedDefaults = [[NSUserDefau
抱歉标题含糊不清,但我想不出我想在标题中做什么。无论如何,对于图像上的文本,我使用了 JLabel 文本并将其添加到图标中。 JLabel icon = new JLabel(new Imag
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我在将 Twitter 嵌入到我从 HTML 5 转换的 wordpress 运行网站时遇到问题。 我遇到的问题是推文不是我的自定义字体... 这是我无法使用任何 css 定位的 HTML 代码,我正
我正在尝试找到解决由于使用以下形式的代码而导致的冗余字符串连接问题的最佳方法: logger.debug("Entering loop, arg is: " + arg) // @1 在大多数情况下,
我写了这个测试 @Test public void removeRequestTextFromRouteError() throws Exception { String input = "F
我目前正在创建一个正则表达式来拆分所有匹配以下格式的字符串:&[文本],并且需要获取文本。字符串可能类似于:something &[text] &[text] everything &[text] 等
有没有办法将标题文本从一个词变形为另一个词,同时保留两个词中使用的字母?我看过的许多 css 文本动画大多是视觉的,很少有旋转整个单词的。 我想要做的是从一个词过渡,例如“BEACH”到“CHANGE
总结matplotlib绘图如何设置坐标轴刻度大小和刻度。 上代码: ?
我在容器 (1) 中创建了容器 (2)。你能帮忙如何向容器(1)添加文本吗?下面是我的代码 return Scaffold( body: Padding( padding: c
我似乎找不到任何人或任何人这样做过。我试图限制我们使用的图像数量,并想创建一个带有渐变作为其“颜色”的文本,并在其周围设置渐变轮廓/描边 到目前为止,我还没有看到任何将两者结合在一起的东西。 我可以自
我正在为视频游戏暗黑破坏神 2 使用 discord.py 构建一个不和谐机器人。其中一项功能要求机器人从暗黑破坏神 2 屏幕截图中提取项目的名称和属性。我目前正在为此使用 pytesseract,但
我很难弄清楚如何旋转 strip.text theme 中的属性来自 ggplot2 .我使用的是 R 版本 3.4.2 和 ggplot2 版本 2.2.1。 以下是 MWE 的数据。 > dput
我是一名优秀的程序员,十分优秀!