如何用印地语创建Android UI?

时间:2012-07-13 07:17:15

标签: android utf-8 localization android-resources

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

任何人都可以帮我如何用印地语创建Android UI ......? 我希望以下印地语中的XML文件代替Name&密码如下图所示,我需要获得印地语单词..但我保留印地语文字意味着它显示的方框代替用户名和&密码。你可以在下面找到按钮。创建了两个动态textview。英文文本正好显示,但会显示印地文文本框。

main.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>

输出显示如下图所示的框

enter image description here    enter image description here

5 个答案:

答案 0 :(得分:2)

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

查看本教程Android-Application-Localization

答案 1 :(得分:1)

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

答案 2 :(得分:1)

您必须为hindi下载.ttf(真实字体)文件,并在项目资产文件夹中创建文件夹名称作为字体,并在您的资产中将hindi_font_file.ttf文件粘贴到fonts文件夹下,并在textview中引用和设置字体,如下所示代码:

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

现在您的ui上的印地文文字显示更多详细信息请尝试按照以下说明发布

Android Tamil font between english word

这里是link下载hindi ttf文件

答案 3 :(得分:1)

自己解决了这个问题。我已下载“mangal.ttf”(hindi字体支持的文件)&amp;将其复制到assets文件夹中创建的fonts文件夹中。

将我的java代码修改为

Main.java

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

这对我有用。

答案 4 :(得分:0)

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

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