欢迎来到天天文库
浏览记录
ID:40743971
大小:327.98 KB
页数:9页
时间:2019-08-07
《Android 分辨率与屏幕适配》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android分辨率与屏幕适配1.为什么Android要进行分辨率与屏幕适配·最大的原因是碎片化,因为Android的开源措施和各个厂商的自己细微修改,结果就变成了这个样需要适配的屏幕尺寸就有这么多:·这怎么可能嘛T_T。所以我们就只照顾大部分人,根据友盟的统计数据如下:·所以只需要适配:800x480、854x480、960x540、1184x720、1280x720、1920x1080这六种分辨率。2.基本知识·屏幕尺寸:英寸,1英寸=2.54厘米。比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等·屏幕分辨率(px)屏幕分辨率是
2、指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素x横向像素,如1960x1080。·屏幕像素密度(dpi)屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dotperinch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。PPI=√(长度像素数²+宽度像素数²)/屏幕对角线英寸数·密度无关像素(dip/dp)密度无关像素(DensityIndependentPixels)是由屏幕像素密度和屏幕分辨率决定,以160dpi作为基准,1dp(1dip)=1px,320dpi时,
3、1dp=2px。·字体大小(sp)Sp是专门为字体准备的单位,其求解方式与密度无关像素(dp)相同。·mdpi、hdpi、xdpi、xxdpi、xxxdpi根据google官方规定,其代表的像素密度如下:·一般图片大小要求如下:·3.适配规则3.1支持各种屏幕尺寸·使用wrap_content和match_parent尽量在android_width和android_height上使用wrap_content、match_parent,因为这两个属性是随着容器的大小而进行改变的,所以适应性会很强。··使用相对布局,禁用绝对布局使用RelativeLayout,保持元素
4、的相对位置,禁止使用绝对布局,因为绝对布局会出现很多问题。··使用限定符·使用尺寸限定符res/layout/main.xml,单面板(默认)布局。res/layout-large/main.xml,双面板布局。请注意第二种布局名称目录中的large限定符。系统会在属于较大屏幕(例如7英寸或更大的平板电脑)的设备上选择此布局。系统会在较小的屏幕上选择其他布局(无限定符)。·使用最小宽度限定符res/layout/main.xml,单面板(默认)布局。res/layout-sw600dp/main.xml,双面板布局。也就是说,对于最小宽度大于等于600dp的设备,系统
5、会选择layout-sw600dp/main.xml(双面板)布局,否则系统就会选择layout/main.xml(单面板)布局。Android版本低于3.2的设备不支持此技术。·使用屏幕方向限定符res/layout-land/main.xml横屏 res/layout-port/main.xml竖屏 ·布局别名最小宽度限定符仅适用于Android3.2及更高版本。因此,如果我们仍需使用与较低版本兼容的概括尺寸范围(小、正常、大和特大)。例如,如果要将用户界面设计成在手机上显示单面板,但在7英寸平板电脑、电视和其他较大的设备上显示多面板,那么我们就需要提供以下文
6、件:res/layout/main.xml:单面板布局res/layout-large:多面板布局res/layout-sw600dp:多面板布局后两个是重复的,只用使用values设置同样的引用即可。res/layout/main.xml,单面板布局res/layout/main_twopanes.xml,双面板布局然后添加这两个文件:res/values-large/layout.xml:@layout/main_twopanes·res/val
7、ues-sw600dp/layout.xml:@layout/main_twopanes·后两个文件的内容相同,但它们并未实际定义布局。它们只是将main设置成了main_twopanes的别名。由于这些文件包含large和sw600dp选择器,因此无论Android版本如何,系统都会将这些文件应用到平板电脑和电视上(版本低于3.2的平板电脑和电视会匹配large,版本高于3.2的平板电脑和电视则会匹配sw600dp)。3.2支持各
此文档下载收益归作者所有