2012-07-13 66 views
1

我正在开发一个应用程序,它需要两种语言的支持(英语&北印度语)。我对英语设计很熟悉,但对于如何在印地语中创建用户界面我没有任何想法。如何在印地语中创建android用户界面?

任何人都可以请帮助我如何创建android用户界面在印地文......? 我想用以下的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> 

输出显示盒按如下图

enter image description here enter image description here

+0

你需要针对Android 2.3及更高版本。那么印地文字体应该可以访问。 – Cheesebaron 2012-07-13 07:39:54

+0

雅,我使用2.3,但不知道如何显示印地文字体。 – 2012-07-13 07:40:40

+0

根据这个错误报告,它不适用于每个2.3设备:https://code.google.com/p/android/issues/detail?id=4153它应该与ICS一起工作。这个线程描述了如何在你的应用中使用你自己的字体:http://stackoverflow.com/questions/4395309/android-want-to-set-custom-fonts-for-whole-application-not-runtime – Cheesebaron 2012-07-13 07:48:17

回答

1

您必须为hindi下载.ttf(真实字体)文件,并在您的项目资产文件夹中创建文件夹名称作为字体,并在您的资产中将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 Tamil font between english word

,这里是link下载印地文ttf文件

+0

这是创建动态视图的时候。有没有什么办法如何从我们的XML文件显示印地文视图,因为我想创建我的用户界面在XML中,而不是动态的用户界面... – 2012-07-13 07:54:18

+0

我用mangal.ttf文件。它也有效...... – 2012-07-13 07:56:17

+0

@code_finder应用你的TextView像TextView tv =(TextView)findViewById(R.id.your_textview_id_from_xml);! – Dinesh 2012-07-13 07:57:11

2

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

看看本教程Android-Application-Localization

+0

没有使用本地化我需要运行它。基于用户的选择,如果他选择印地文版意味着所有的应用程序需要在印地文中可见。这是主要标准。 – 2012-07-13 07:26:41

1

而且,要知道,HTC不支持印地文字体显示

0

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

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

+0

我想android会给2.3版本提供hindi支持。 – 2012-07-13 07:55:28

1

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

修改了Java代码

Main.java

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

这为我工作。

+0

发布后续问题的新问题。 – ThiefMaster 2012-07-14 10:06:16

相关问题