我最近发现了一组我希望能在文本中使用的表情符号。它们是.svg格式的,我不知道如何插入它们。我有一个TextInput来输入消息,还有一个定制的小部件,它使用TextInput来显示文本。我很乐意得到任何帮助,链接,文章,任何东西。
发布于 2016-04-10 13:52:27
Edit2:
正如@RyanP在评论中解释的那样,我认为字体保存着表情符号的图像,因此你需要做的唯一一件事就是取你的字体(或者直接使用一种字体),然后用你的.svgs对每个表情符号添加/替换该字体中的表情符号。
这个表格肯定会对你和方锻都有帮助。这里是导入svgs的文档的一部分。
万一不可能做这样的事,我还会把剩下的答案留在下面。
我不知道TextInput是否能够做这样的事情--插入.svg或将任何图片插入到自身中,因为它呈现文本。
然而,我可以看到一个解决办法,为每个表情符号制作一些文本等效或标签- [smileemoji]。然后,在提交文本之后,创建一个函数,将标记替换为emojis。但是,它不会在编写时与标签一起使用,因为它也只呈现文本。
我如何看待它::
- 1: `bla bla bla` emoji `remaining text`
- 2: bla bla bla bla bla bla bla `remaining`text
- emoji has to have constant size
- make for each tag a special character(s) in your text that will be constant size(use markup) - I recommend you something that'll highly resemble _square shape_
- place an `Image` with same width as your special character(s) on the top of the `Label`, so that it'll behave as an image in your text, but in reality it'll be another widget
第二个选项对我来说是合乎逻辑的,因为Label将处理包装,您需要找到和设置的唯一东西是屏幕上文本中该字符的常量大小和位置(这样您就可以定位Image小部件--而不是字符串中的位置)。
如果您想继续使用TextInput作为输出管理器,那没问题,但是您必须自己在TextInput中管理您的特殊角色的大小,如果输出管理器更改颜色(例如,TextInput在焦点/非焦点上所做的),则必须处理Image小部件的颜色,这样就不会显得奇怪。
还有滚动,您也需要处理这个问题,这样您的表情符号就不会在没有原因的情况下飘浮,或者在文本变化时保持在Label/TextInput的顶部。
以防万一,你的表情符号将是透明的,或者它的背景色将与你的输出管理器的颜色一致。
编辑:
如果你只想要一些表情符号,放弃图像的想法,去寻找标签,并替换为unicode 1,2。
https://stackoverflow.com/questions/36519439
复制相似问题