Android 资源的国际化
但是在实际应用开发中,通常横屏(land)与竖屏(port)布局文件有所不同,这时候我们可以独自定义横屏与竖屏的布局文件( 文件名字要一样),默认情况是加载layout目录里的布局文件。同样应用还要支持不同的语言,如果我们应用里没有定义手机所用语言的资源时,会默认加载values的值。
要使程序适应布局,则需要添加以下两个目录:layout-land 和 layout-port ,系统在进行改变的时候,将会根据这两个现在的屏幕的横竖分别读取这两种不同的布局方式,如果这当前的不存在,则会根据layout中的布局进行布局。
下面是我的的三个布局:
layout:
代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent" android:id="@+id/text1"
android:layout_height="wrap_content" android:text="@string/hello" />
<Button android:id="@+id/btn1" android:text="坚"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</Button>
<Button android:id="@+id/btn2" android:text="横"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</Button>
</LinearLayout>
layout-land:
代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="横屏显示" />
<TextView android:layout_width="fill_parent" android:id="@+id/text1"
android:layout_height="wrap_content" android:text="@string/hello" />
<Button android:id="@+id/btn1" android:text="横"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</Button>
<Button android:id="@+id/btn2" android:text="竖"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</Button>
</LinearLayout>
显示效果:
layout-port:
代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="坚屏显示" />
<TextView android:layout_width="fill_parent" android:id="@+id/text1"
android:layout_height="wrap_content" android:text="@string/hello" />
<Button android:id="@+id/btn1" android:text="横"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</Button>
<Button android:id="@+id/btn2" android:text="竖"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</Button>
</LinearLayout>
显示效果:
下面是对内容的显示进行的国际化:
需要添加以下目录:
values-zh-rCN 此下面放置的是显示中文内容的
values-zh-rTW 此下显示繁体中文
values-jp 显示日文
一般形式为:values-国家编号
这些显示将根据操作系统的语言进行读取,如果不存在相应的语言版本,将会直接获取values中的内容:
在此中,只对中文进行了设置
values中的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, ShowTask!</string>
<string name="app_name">ShowTask</string>
</resources>
values-zh-rCN 中的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">此程序用于显示任务!</string>
<string name="app_name">显示任务</string>
</resources>
显示效果如下:
参考文章:
作者:码农豆豆 微信公众号: 出处:http://www.cnblogs.com/fly_binbin/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |