android 屏幕适配方式

1、onCreate中setContentView的时候,根据获取的手机设备屏幕参数来选择不同的配置文件。
2、通过android会根据不同的屏幕尺寸来选择不同配置文件夹的配置文件。

  1. android 3.2版本之前的。
    layout-large,layout。7寸以上的屏幕android系统会选择layout-large定义的配置文件,7寸以下的系统自动加载 layout中的配置文件。

  2. android 3.2版本之后的。
    这里的sw代表smallwidth的意思,当你的屏幕的绝对宽度大于600dp时,屏幕就会自动调用layout-sw600dp文件夹里面的布局。

    注意:这里的绝对宽度是指手机的实际宽度,即与手机是否横屏没关系,也就是手机较小的边的长度。
    Android应用里里,大家一定饱受各种layout-sw480dp layout-sw600dp-land layout-sw720dp-port之苦,往往不知道自己的平板加载的是哪个Layout而不得不一个个尝试,网上一大堆说不清的教程。本人查阅很多资料,给大家分享一种计算方法确定自己平板所加载哪个dp的资源。
    事实上,sw不是software的,意思,我猜是Smallest-width,最短的宽度。
    sw-xxxx-dp的计算公式是 sw *160/dpi
    比如 1280*800, sw 是800
    480*800, sw 是480。

3、采用dp非xp,字体采用sp。

4、如果图片需要拉伸则采用 nine-patch格式图片,例如 aa.9.png,系统会根据生产的9.png格式图片进行自由拉伸。

一、layout-sw600dp

  这里的sw代表smallwidth的意思,当你的屏幕的绝对宽度大于600dp时,屏幕就会自动调用layout-sw600dp文件夹里面的布局。

   注意:这里的绝对宽度是指手机的实际宽度,即与手机是否横屏没关系,也就是手机较小的边的长度。

二、layout-w600dp

  当你的屏幕的相对宽度大于600dp时,屏幕就会自动调用layout-w600dp文件夹里面的布局。

  注意:这里的相对宽度是指手机相对放置的宽度;即当手机竖屏时,为较小边的长度;当手机横屏时,为较长边的长度。

三、layout-h600dp

  与layout-w600dp的使用一样,只是这里指的是相对的高度。

  当你的屏幕的相对高度大于600dp时,屏幕就会自动调用layout-w600dp文件夹里面的布局。

  注意:这里的相对高度是指手机相对放置的高度;即当手机竖屏时,为较长边的长度;当手机横屏时,为较小边的长度。但这种方式很少使用,因为屏幕在相对高度上,即在纵向上通常能够滚动导致长度变化,而不像横向那样基本固定,因而这个方法灵活性差,google官方文档建议尽量少用这种方式。

猜你喜欢

转载自blog.csdn.net/wangqiubo2010/article/details/79436268