如何在android应用程序中为textview设置gujarati?

时间:2011-12-09 19:46:04

标签: android

我想创建一个应用程序,其中我需要以古吉拉特语显示textview。

我试过

Typeface tf = Typeface.createFromAsset(getAssets(), "G-SARAL1.TTF");
text.setTypeFace(tf);

但这不起作用,我在string.xml文件中设置gujarati文本然后我在textview中设置该字符串,但是当我运行应用程序时,它显示方框而不是古吉拉特字符,

任何人都可以帮助我,我该如何实现这项任务。

4 个答案:

答案 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" + "સ્વાગત");