如何在android中显示telugu字体

时间:2014-05-02 09:19:34

标签: android character-encoding typeface text-rendering

我想在android中显示Telugu字体在4.0及以上设备中,Telugu字体会自动支持但我在4.0以下设备中有问题。我使用了以下代码但是Telugu无法正常渲染。

   Typeface tf= Typeface.createFromAsset(this.getAssets(), "fonts/gautami.ttf");
   TextView telugu=(TextView)findViewById(R.id.telugu);
   telugu.setTypeface(tf);
   telugu.setText("హైదరాబాద్");

请帮我解决这个问题。提前谢谢。

3 个答案:

答案 0 :(得分:1)

删除 /font 以解决您的问题

您可以使用名为fonts的子文件夹,但它必须位于 assets 文件夹中,而不是 res 文件夹。

assets/res

的Android

TextView telugu = (TextView) findViewById(R.id.telugu);
Typeface Typefacetf = Typeface.createFromAsset(getAssets(), "gautami.ttf");
telugu.setTypeface(Typefacetf);
telugu.setText("హైదరాబాద్");

答案 1 :(得分:0)

只需在string.xml中定义字体

即可
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="text_your_name">హైదరాబాద్</string>
</resources>

因为编码是utf-8所以它会正确呈现。

现在设置该文本可以使用:

telugu.setText(getResources().getString(R.string.text_your_name));

修改

现在看到这里的答案,它可以帮助你解决:: stackoverflow他们遇到与你一样的问题。

答案 2 :(得分:0)

在values.xml里面写一个项目在值文件夹

<string name="your_text">హైదరాబాద్</string>

然后将您的字体文件保存在资源文件夹

然后使用资产文件夹中的字体

在java代码中创建自定义字体
Typeface custom_type_face = Typeface.createFromAsset(getAssets(), "gautami.ttf");

将此用于TextView

TextView telugu = (TextView) findViewById(R.id.telugu);
telugu.setTypeface(custom_type_face);

从strings.xml文件夹中设置Text

telugu.setText(getResources().getString(R.string.your_text));