17、屏幕适配与多语言支持

 屏幕适配要考虑的因素

1. 屏幕尺寸
2. 屏幕密度
3. 屏幕方向
4. 屏幕分辨率
5. 独立于屏幕密度的像素(dp和sp) 

 适配不同屏幕可以采用的规则

  1. 限制屏幕尺寸。最简单的方法就是直接在AndroidManifest.xml文件 中通过<compatible-screens>或<supports-screens>标签限制屏 幕尺寸。

  2. 为不同的屏幕尺寸提供不同的布局。例如,屏幕尺寸分为4个等级: small、normal、large和xlarge。如果为这4个尺寸等级都提供相应 的布局资源,就需要建立4个布局资源目录:res/layout-small、 res/layout-normal、res/layout-large和res/layout-xlarge。

     3. 为不同屏幕的密度提供不同分辨率的图像。例如,如果要分别为高密 度和中密度屏幕提供图像资源,就

         要建立res/drawable-mdpi和 res/drawable-hdpi两个本地化图像资源目录。 

 屏幕尺寸和屏幕密度

为了简化设计用户接口的过程,Android对各种屏幕配置进行了泛化, 将屏幕适配划分成屏幕尺寸和屏幕密度。

1. 屏幕尺寸分为4个等级:small、normal、large和xlarge。

2. 屏幕密度分为4个等级:ldpi(低密度)、mdpi(中密度)、hdpi(高 密度)和xhdpi(扩展高密度)。 

17、屏幕适配与多语言支持_第1张图片

        使用屏幕尺寸设计UI时,必须要了解每一种屏幕尺寸要求的最小屏幕 长宽尺寸。这些最小长宽尺寸使用dp(与屏幕密度无关的像素)作为单位。 下面是上述4种泛化的屏幕尺寸对应的最小屏幕长宽尺寸。

1. xlarge:960dpx720dp

2. large:640dpx480dp

3. normal:470dpx320dp

4. small:426dpx320dp 

 典型的屏幕适配案例

屏幕最小宽度

1. 320dp:典型的手机屏幕(如240x320ldpi,320x480mdpi,480x800 hdpi等)。

2. 480dp:手机和平版电脑都可能使用的尺寸(如480x800mdpi)。
3. 600dp:用于7英寸的平板电脑 (如Nexus 7的1280 x 800 ,介于mdpi和hdpi之间)。

4. 720dp::用于10英寸的平板电脑(如Nexus10的2560×1600,介于hdpi和xhdpi之间)。

res/layout-sw600dp/main_activity.xml // 用于7寸平板电脑的布局文件.

 多语言支持 

        多语言支持分为语言和地区。语言标识符被定义为两个字母的代码, 详细定义可查阅ISO 639-1。区域标识符是可选的,也采用了两个字母的代 码(但要在代码前面加一个小写的“r”),详细定义可查看ISO 3166-1- alpha-2的相关内容。

        语言和地区代码都不区分大小写。“r”前缀用于区分某个地方,不能单 独指定一个区域,也就是说,指定区域必须先指定语言。

        如果用户在系统设置中改变了当前的语言。程序在运行时就会改变自身 的语言(选择与当前语言相匹配的资源目录读取资源)。
res/values
res/values-zh-rCN

res/values-en

注意:默认文本资源通常为英文,因为英文是世界语言,各国用户都能接受。

你可能感兴趣的:(多语言)