1

我正在开发一个需要支持两种语言(英语和印地语)的应用程序。我熟悉英语设计,但我不知道如何用印地语创建 UI。

谁能帮助我如何用印地语创建 android UI ......?我想要印地语中的以下 XML 文件表示代替名称和密码,如下图所示,我需要获取印地语单词..但我保留印地语文本意味着它显示框代替用户名和密码。正如你可以找到下面的按钮。创建了两个动态文本视图。英文文本正在准确显示,但出现在印地语文本显示框中。

主要的.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutbase"    
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_weight="1">
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="30px"
            android:text="Username"/>
        <EditText
            android:id="@+id/editText1"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        </EditText>
    </TableRow>
    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
          <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="30px"
            android:text="नमस्ते"/>
        <EditText
            android:id="@+id/editText2"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        </EditText>
    </TableRow>
</TableLayout>

输出显示如下图所示的框

在此处输入图像描述 在此处输入图像描述

4

5 回答 5

2

实际上,您需要的是Android-Localization,它支持英语和印地语两种语言。

查看本教程Android-Application-Localization

于 2012-07-13T07:21:24.610 回答
1

另外,请注意 HTC 不支持印地语字体显示

于 2012-07-13T07:38:03.693 回答
1

您必须下载印地语的 .ttf(true type font) 文件,并在项目资产文件夹中创建文件夹名称作为字体,并将hindi_font_file.ttf 文件粘贴到字体文件夹下的资产中,并在您的文本视图中引用并设置字体,如下代码:

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/hindi_font_file.ttf");               
TextView tv = (TextView) findViewById(R.id.yourtextview);
tv.setTypeface(tf);
tv.setText("हिंदी");

现在在您的 ui 上显示印地语文本以获取更多详细信息,请尝试按照下面的说明进行操作

英文单词之间的Android泰米尔语字体

这里是下载印地语 ttf 文件的链接

于 2012-07-13T07:49:11.560 回答
1

自己解决了这个问题。我已经下载了“mangal.ttf”(印地语字体支持文件)并将其复制到资产文件夹中创建的字体文件夹中。

将我的java代码修改为

主.java

    TextView tv1=new TextView(this);
    tv1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/mangal.ttf"));
    tv1.setText("इस अंग्रेज़ी हिन्दी अंग्रेज़ी शब्दकोश में आप आसानी से हिन्दी और अंग्रेज़ी शब्दों के अर्थ ढूंढ सकते हैं। नवम्बर ");
    tv1.setTextSize(20);
    layout.addView(tv1);

这对我有用。

于 2012-07-13T07:52:30.810 回答
0

您显示的静态文本(用户名、密码)等需要通过使用 Android 的资源框架提供适当的字符串来本地化。请注意您的目标平台版本。我不记得究竟是哪个版本的 Android 引入了印地语支持,但您可以在每个平台版本的发行说明中查找。

最后,如果您想在印地语中接受用户输入,您需要再次了解平台版本。您可以转到设置->语言和输入法然后是Android 键盘 (AOSP) --> Input Languages的“首选项”图标。如果您在列表中看到印地语,则您的平台应该支持印地语输入。但是,我不确定设备制造商是否支持此领域,因此您可能应该在真实设备上进行测试。

于 2012-07-13T07:48:55.603 回答