我想在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("హైదరాబాద్");
请帮我解决这个问题。提前谢谢。
答案 0 :(得分:1)
删除 /font
以解决您的问题
您可以使用名为fonts的子文件夹,但它必须位于 assets
文件夹中,而不是 res
文件夹。
assets/res
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));