我正在开发一个应用程序,我必须在textview
中显示从服务器响应中收到的文本。文字可以在 English or Hindi
中。如果是 hindi ,则部分字母会被问号(?)
替换。这是什么问题?
这就是我设置文本的方式。的 Android version 6
即可。字体类型 - Proxima Nova Alt Regular
for (int i = 0; i < 3; i++) {
viewHolder.lines[i].setText(poem.lines[i].lineText);
}
答案 0 :(得分:2)
从你的问题来看,似乎某些字母正确呈现而其他字母则没有。这显然是字体兼容性问题。如果您想使用自定义字体,请下载适用于您的Android版本的新字体。
然而,在许多新的Android设备(特别是Android 6及更高版本)中,默认支持印地语。因此,在这种情况下,只需检查手机的Settings --> Language & input
即可。如果支持印地语,那么只需将应用程序的区域设置更改为印地语,它就应该有效。
Configuration.Locale = new Locale("hi", "IN");
答案 1 :(得分:-1)
从此处下载印地语字体:http://fonts.webtoolhub.com/font-n17979-kruti-dev-010.aspx
将此字体放入&#34; assets&#34;文件夹:app / src / main / assets / kruti-dev-010.ttf
Typeface hindiFont = Typeface.createFromAsset(MainActivity.this.getAssets(), "fonts/Kruti_Dev_010.ttf");
txtFont.setTypeface(hindiFont);
txtFont.setText("एनडीटीवी इंडिया : हिन्दी समाचार की आधिकारिक वेबसाइट");
答案 2 :(得分:-1)
尝试将字符串转换为UTF-8
,如
viewHolder.lines[i].setText(URLDecoder.decode(poem.lines[i].lineText,"UTF-8");