繁体   English   中英

安卓 EditText中的图像

[英]Android. Image in EditText

我想创建一个简单的计算器。 从我的目标中可以看出,它在EditText字段图像中的位置具有特殊的数学字符,例如平方根,π... Fe:

2/34*sqrt(121)

在这里,我要放置图像而不是除法,乘以字符,sqlt字符串。 我该怎么办?

还有其他问题:它实际上是否需要可编辑,即用户可以直接在其中输入内容? 如果是这样,它将如何运作? 当他们输入“ *”时,它将意识到并用您的png替换它? 如果输入时不打断,而是在输入完整行时立即全部打断,这是否可以接受?

我目前的最佳答案:默认情况下,EditText不支持该功能。 您可能必须创建自己的视图,该视图是某种EditText和LinearLayout的混搭,可以将ImageViews与PNG一起保存。 如果不需要用户对其进行编辑,它将变得更加容易,因为您可以使自定义视图成为LinearLayout,并添加TextView和ImageView,并在其中设置适当的文本和图像。 如果确实需要编辑,它将面临更大的挑战。 您将必须使用TextChangedListener提取键入的每个字符,并在需要时将其替换为ImageView。 在我看来,最困难的部分是要知道将ImageView放置在哪里,并使EditText知道您希望它与Image另一侧的文本一起显示。 我不确定您会怎么做。 也许最好的解决方案是您输入一个EditText,然后分别将您的自定义视图作为显示视图。 这样,您不必担心将图像放置在EditText上方并将光标正确移动到图像的右侧。

我的建议是研究一种包含数学符号的免费字体(一些快速搜索打开了StixFont项目 ),然后将其添加到资产中,并将其设置为字体。 正如Tim所建议的那样,您可能仍将需要一个TextWatcher / TextChangedListener(除非您使用自己的键盘来输入符号),但这可以避免尝试在文本字段中插入图像的问题,并且可以保留矢量字体提供的质量与嵌入文本字段中的光栅图像相比。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM