Android屏幕适配全攻略(最权威的官方适配指导)
转载:http://my.oschina.net/yuanxulong/blog/481543
屏幕适配要考虑的因素
1. 屏幕尺寸
2. 屏幕密度
3. 屏幕方向
4. 屏幕分辨率
5. 独立于屏幕密度的像素(dp和sp)
适配不同屏幕可以采用的规则
-
限制屏幕尺寸。最简单的方法就是直接在AndroidManifest.xml文件 中通过<compatible-screens>或<supports-screens>标签限制屏 幕尺寸。
-
为不同的屏幕尺寸提供不同的布局。例如,屏幕尺寸分为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(扩展高密度)。
使用屏幕尺寸设计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
注意:默认文本资源通常为英文,因为英文是世界语言,各国用户都能接受。
手机类型支持
动态显示和隐藏状态栏 http://blog.csdn.net/stevenhu_223/article/details/12428591