Android开发之国际化问题

本文介绍了Android应用的国际化实现,包括创建不同语言环境的value和drawable文件夹,以及如何设置string.xml和图片资源。同时,还讨论了如何通过建立不同分辨率的layout文件夹来适应不同屏幕尺寸,确保应用界面在各种环境下都能正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里所谓国际化,指的就是我们开发的应用可以在手机的特定的语言环境下显示特定的语言,比如在中文环境下,软件里面所有的文字为中文,在英文环境下,软件中所有的文字都为中文,我们是如何来实现这样的功能的呢?
其实很简单,只要在res文件夹建相应的value文件夹即可,下面以一个简单的例子来说明。
我们要实现的效果就是在中文环境下显示如下界面
Android开发之国际化问题
图 1
英文环境下显示如下界面
Android开发之国际化问题
图 2
界面包括一个TextView和一个ImageButton
    <TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    <ImageButton  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/exit"
    />
仔细观察可以发现,其实上面两个界面变的都只是文字和ImageButton上的图片而已,其他的完全没有变化,我们有必要将其中的文字抽取出来,放到res/values文件夹下面,如果要实现中文环境下对应的界面,需要在res文件及下建立一个"values_zh"文件夹,如果要实现在英文环境下实现对应的界面,需要在res文件夹下建立一个"values_en"文件夹,然后分别在两个文件及中建一个"string.xml"文件,这俩个xml文件除了文本节点(显示在界面上面的内容)不一致外,其他必须一致,比如
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">您好,俞超!</string>
    <string name="app_name">超人</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello yuchao!</string>
    <string name="app_name">super_man</string>
</resources>
这样,一个简单的国际化应用就做成了
然后,上面的图片在相应的语言环境下又是如何实现的呢?
原理和文字一致,只要分别建立对应的drawable文件夹,比如中文环境"drawable_zh",英文环境"drawable_en",准备两张图片,名字相同,分别放入两个文件夹,这样,应用运行的时候就会根据手机的语言环境来引用相应文件夹下的图片了
最后,我们还可以实现应用可以适应屏幕分辨率的效果,当然,这需要建立相似的布局文件夹,命名规则为
“layout-f1xf2”其中f1的值必须大于f2,比如“layout-320x240”,“layout-480x320”,然后文件夹下所有的xml文件必须同名,这样就能实现应用的界面布局可以随着分辨率的变化而变化了。
补充一点,如果在某一语言环境下没有对应的方言文件夹,那么Android将使用默认的不带后缀的文件夹(layout,drawable,values)等,值得注意的是,必须要指明默认的文件夹,否则在陌生的语言环境下,Android将无法选择合适的处理方式!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值