【问题标题】:How to create android UI in Hindi?如何在印地语中创建 android UI?
【发布时间】:2012-07-13 07:17:15
【问题描述】:

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

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

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>

输出如下图所示显示框

【问题讨论】:

标签: android utf-8 localization android-resources


【解决方案1】:

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

看看这个教程Android-Application-Localization

【讨论】:

  • 不使用本地化我需要运行它。如果他选择印地语版本,则基于用户的选择意味着所有应用程序都需要在印地语中可见。这是主要标准。
【解决方案2】:

您必须下载印地语的 .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("हिंदी");

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

Android Tamil font between english word

这里是link 用于下载印地语 ttf 文件

【讨论】:

  • 这是在创建动态视图时。有什么方法可以从我们的 XML 文件中显示印地语视图,因为我想在 XML 中创建我的 UI 而不是作为动态 UI...
  • @code_finder 应用您的文本视图,例如 TextView tv = (TextView) findViewById(R.id.your_textview_id_from_xml);!
  • 能否详细说明。这里的“R.id.your_textview_id_from_xml”来自这里的 textview_id 是根据 xml 的 textview id。那么这里的“from_xml”是什么。没明白。你能解释一下吗
  • 我正在像这样在 java 文件中绑定 textview.... TextView xmltxt=(TextView)findViewById(R.id.textView2);就是你说的那个。
  • 根据我上面的 xml,它仍然只显示在框中。不显示印地语文字...
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

    修改我的java代码为

    Main.java

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

    这对我有用。

    【讨论】:

    • 为后续问题发布一个新问题。
    【解决方案5】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多