【问题标题】:Auto detect and install text font in android在android中自动检测和安装文本字体
【发布时间】:2011-07-26 13:10:29
【问题描述】:

在我的应用程序中,我想将文本格式化为多种货币。例如,$ 代表美元,đ 代表越南盾,£ 代表英镑,€ 代表欧元,... 解析 JPY(日本)、CNY(中国)、KPW(韩国)等时,由于缺少适当的字体,某些货币代码无法正确显示。

如何让我的应用在任何安卓手机中显示所有货币代码?或者,有什么方法可以自动检测文本字体并要求用户安装它?

【问题讨论】:

    标签: android fonts currency currency-formatting


    【解决方案1】:

    您可以复制 String 资源中的所有符号,然后您可以通过 String 资源中的项目名称访问该符号。

    或者你可以做一个类似的函数

    public static String getCurrencySymbol(Context context, String currency){
            if(currency.equalsIgnoreCase("USD")) return "$";
            if(currency.equalsIgnoreCase("GBP")) return "£";
            return "";
        }
    

    【讨论】:

    • 对不起 Jackal,也许你不明白我的问题。在android中,我们可以使用 NumberFormat.getCurrencyInstance().setCurrency();以指定货币格式化价格。但是有些货币符号不能以正确的方式显示。 (例如中国、韩国、日本……的货币符号)我正在寻找一种方法来检测字体以显示此符号。
    【解决方案2】:

    恐怕没有办法自动完成。您可以做的是尝试各种字体并将您需要的字体保存在您的 Android 项目的assets/fonts 中。在您的代码中,您可以检查货币符号的 Unicode 值,如果当前字体不支持或不适合,请切换到支持它的适当字体。

    【讨论】:

    • 谢谢,但总共有 >170 种货币。所以,我认为你的解决方案可能不是最好的。
    • 这行得通,我在我的项目中也使用了类似的方法,但是如果单个文本字段包含多种语言,则会出现问题,有没有办法将多种字体同时应用于单个文本字段和让android自动检测使用哪一个?如果不是,那么如何让 android 将字体应用于子字符串,而不是 TextField 的全部内容?
    猜你喜欢
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多