我想创建一个应用程序,其中我需要以古吉拉特语显示textview。
我试过
Typeface tf = Typeface.createFromAsset(getAssets(), "G-SARAL1.TTF");
text.setTypeFace(tf);
但这不起作用,我在string.xml文件中设置gujarati文本然后我在textview中设置该字符串,但是当我运行应用程序时,它显示方框而不是古吉拉特字符,
任何人都可以帮助我,我该如何实现这项任务。
答案 0 :(得分:7)
由于Android不支持gujarati和hindi语言,您仍然可以为您的应用程序提供支持。
对于古吉拉特语,将C:\WINDOWS\Fonts\Shruti.TTF
文件复制到资产文件夹。然后使用以下代码。
TextView text_view = new TextView(this);
Typeface font = Typeface.createFromAsset(getAssets(), "Shruti.TTF");
text_view.setTypeface(font);
text_view.setText("ગુજરાતી");
Shruti.TTF
文件适用于古吉拉特语字体。同样,您可以添加对hindi文件的支持。
答案 1 :(得分:0)
尝试使用此代码
TextView mtxt = (TextView) findViewById(R.id.action_settings);
Typeface face1 = Typeface.createFromAsset(getAssets(),
"Lohit-Gujarati.ttf");
mtxt.setTypeface(face1);
mtxt.setText("પૂર્વ વડાપ્રધાન રાજીવ ગાંધીની હત્યા કરનારા 3 આરોપીઓની ફાંસીની સજા સુપ્રિમ કોર્ટે ઉમ્રકેદમાં ફેરવી નાંખી છે.આમ રાજીવગાંધીના" +
"3 હત્યારાઓને હવે ફાંસીની સજા નહી થાય.સુપ્રીમ કોર્ટમાં 3 જજોની બેન્ચે આજે આ ચુકાદો આ");
答案 2 :(得分:0)
您可以下载Montserrat字体,此字体用于英语和 Gujarati 两种语言。如果你不想下载saperate字体而不是可以使用它。您可以创建基本文本,并可以创建如下方法并使用字体。还有一件事你必须通过
fun setFonts(context: Context, fontName: String) {
val typeface = Typeface.createFromAsset(context.assets, fontName)
setTypeface(typeface)
}
要创建本地化字符串文件,您还可以使用Translations Editor。
答案 3 :(得分:0)
我检查了所有给定的解决方案,但没有人解决我的问题 所以我做了越来越多的谷歌,发现,您需要先创建资产文件夹 然后将所有需要的字体文件粘贴到应用程序中 这是一些有关如何在项目中添加资产文件夹的指南
第1步:导航到android studio的左上角,您会在其中找到这样的菜单,然后将选项从下拉菜单更改为 Packages
第2步:现在您将看到父级为 app ,现在只需右键单击该应用,然后依次单击“新建”,“文件夹”和“资产”文件夹
这是添加资产文件夹的方法。
添加资产文件夹后,只需将ttf文件粘贴到该资产文件夹中即可。 并遵循我的代码以供参考
TextView text_view = (TextView) findViewById(R.id.txtMsg);
//TextView text_view = new TextView(this);
Typeface faceShruti = Typeface.createFromAsset(getAssets(),
"shruti.ttf");
text_view.setTypeface(faceShruti);
text_view.setText("In Gujarati\n" + "સ્વાગત");