Android开发:如何在TextView中添加三种货币符号及使用Unicode实现?
实现TextView中多种货币符号的显示(支持Unicode编码)
当然可以用Unicode/UTF编码来实现多种货币符号的显示!这是Android开发中很常用的做法,我给你两种实用方案,适配不同场景:
方案1:在strings.xml中统一管理(推荐)
跟你之前定义美元符号的思路一致,只是把其他货币符号用Unicode编码写入strings.xml即可,系统会自动解析成对应的符号:
<!-- 已有的美元符号 --> <string name="dollar">$</string> <!-- 欧元符号(Unicode:U+20AC) --> <string name="euro">\u20AC</string> <!-- 人民币符号(Unicode:U+FFE5) --> <string name="rmb">\uFFE5</string> <!-- 英镑符号(Unicode:U+00A3) --> <string name="pound">\u00A3</string>
之后在布局或代码中引用这些字符串就和之前的美元符号一样方便:
- 布局中:
android:text="@string/euro" - 代码中:
textView.setText(getString(R.string.rmb));
这种方式的好处是集中管理,后续要修改符号或添加新货币,只需要修改strings.xml,不用改动多处代码/布局。
方案2:在代码中直接使用Unicode字符串
如果需要动态切换货币符号(比如根据用户地区设置),可以直接在代码中使用Unicode字符串设置:
TextView currencyTextView = findViewById(R.id.your_text_view_id); // 直接设置单一货币符号 currencyTextView.setText("\u20AC"); // 显示欧元 // 组合金额和符号 String amount = "199"; currencyTextView.setText("\uFFE5" + amount); // 显示 ¥199
常用货币Unicode编码参考
给你整理几个常见的,方便直接用:
- 美元:
$(或Unicode\u0024) - 欧元:
\u20AC - 人民币:
\uFFE5 - 英镑:
\u00A3 - 日元:
\u00A5
这样不管你需要添加多少种货币符号,都能轻松实现啦!
内容的提问来源于stack exchange,提问作者Walter




