【问题标题】:Can I read languages supported by an android without rooting it?我可以在不生根的情况下阅读android支持的语言吗?
【发布时间】:2015-10-25 06:21:22
【问题描述】:

我可以阅读安卓设备支持的语言吗?我知道我们可以阅读当前的语言,但我想阅读所有语言。

Afaik,它在系统/字体中。但是我可以在不root设备的情况下访问它吗?

编辑:我在 Moto-G 上尝试了 Locale,它的列表包含古吉拉特语,这似乎是因为 v. 5.0.2 支持该语言,但设备不支持古吉拉特语字体。需要知道特定设备支持哪些字体,以便我决定是否渲染它们。

【问题讨论】:

标签: android


【解决方案1】:

这对我有用!

public void checkSupportedFonts() {

    mLanguageFonts = new HashMap<String, String>();

    mLanguageFonts.put("en-US", "ab");
    mLanguageFonts.put("hi-IN", "अआ");
    mLanguageFonts.put("bn-IN", "অআ");
    mLanguageFonts.put("gu-IN", "અઆ");
    mLanguageFonts.put("mr-IN", "अआ");
    mLanguageFonts.put("ta-IN", "அஆ");
    mLanguageFonts.put("te-IN", "అఆ");
    mLanguageFonts.put("kn-IN", "ಅಆ");
    mLanguageFonts.put("ml-IN", "അആ");

    Iterator<Entry<String, String>> languageIterator = mLanguageFonts.entrySet().iterator();
    while (languageIterator.hasNext()) {
        Map.Entry<String, String> pair = (Entry<String, String>)languageIterator.next();
        String font = pair.getValue().toString();

        if(isSupported(font))
            Log.d(TAG, "language is supported : " + pair.getKey());
        else
            Log.d(TAG, "language is unsupported : " + pair.getKey());
        }
}

private boolean isSupported(String text) 
{

    String char1 = text.substring(0, 1);
    text = text.substring(1, 2);
    Bitmap bitmap1 = generateBitmap(context, char1);
    Bitmap bitmap2 = generateBitmap(context, text);
    boolean res = !bitmap1.sameAs(bitmap2);
    bitmap1.recycle();
    bitmap2.recycle();
    return res;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多