一.划分手机和平板

人为判断方法:

大于6英寸的就是平板。小于6英寸的都是手机
    平板尺寸:
    6英寸、7英寸、10英寸、14英寸…

Android系统支持多配置资源文件,我们可以追加新的资源目录到你的Android项目中。命名规范: 资源名字-限制符
layout/drawble文件夹     说明
layout     默认中等屏幕
layout-small     小屏幕
layout-large     大屏幕
layout-xlarge     特大屏幕
layout-land     横屏
layout-port     竖屏
drawable     默认中等密度
drawable-hdpi     高密度 240dpi
drawable-mdpi     中等密度 160dpi
drawable-xhdpi     更高密度 ~320dpi
drawable-nodpi     所有密度资源,无论什么密度屏幕都会适配
drawable-tvdpi     介于mdpi~hdpi 约213dpi 主要应用在电视

官方说明:

xlarge screens are at least 960dp x 720dp
    large screens are at least 640dp x 480dp
    normal screens are at least 470dp x 320dp
    small screens are at least 426dp x 320dp

上面是定义广义大小布局资源适配的一个范围,大家可以根据自己的设备知道系统会匹配那个文件的布局。
如果手上有个山寨华为的卖的比较火的mediapad,大家知道分辨率1280*800 密度尺寸7寸
通过勾股定了和分辨率可以得出其密度为215.69。然后根据dp=px/(dpi/160),可以得出个范围593.471。所以这个设备系统会匹配layout-large这个资源布局文件。

注:如果没有指定横屏或竖屏,则上面的布局和位图都适配横竖屏。如果要指定横屏,例如:drawable-land-hdpi竖屏drawable-port-hdpi,还有关键是drawable-xlarge和layout-xlarge,对api level都要求在9之上,等于说,你用android2.2系统的平板或者手机根本不匹配layout-xlarge。因为api level是8。drawable-tvadpi这个api等级需要13以上。
layout-large这个目录其实是个范围。当系统根据当前屏幕的大小和密度,决定程序应该匹配那个目录。你也可以单独定制某些不符合谷歌标准的山寨版layout-l024x600(中间的符合是英文下的x字母),其中1024和600的单位是dp。你可以根据你设备的分辨率和密度,来判断你的设备需要定义那个文件。

但是,官方推荐使用尺寸来表示资源layout-large,不推荐使用分辨率layout-1024*600
运用场景:

为了同时适配手机和平板。
我们在res/目录下创建,layout-large和layout的package,然后我们可以创建一个与layout下相同的activity_main.xml文件
,系统就会根据屏幕分辨率匹配指定的layout中的xml
二.平板-tablet

Android手机系统是2.x,4.x,5.x等,但是Android系统的Tablet设备是从3.0开始的,且3.x系统只有平板才有。Android3.0是专门为平板服务的系统。但是从4.0以后,看起来能运行于手机的也同样能运行于平板。但是,如果使用手机适配的方法用于平板是不可行的。通过查询Google文档可知,Android平板的适配要使用限定符swxxxdp。

原因:手机屏幕的适配是根据资源限定符value-mdpi-xxx或者value-ldpi-xxx。在values文件夹下的dimens文件里没有默认值也没有关系,系统会最匹配原则。但是Tablet设备资源查找的限定符不是mdpi、ldmpi这样的限定符。而是swxxxdp限定符查找。所以如果使用手机屏幕适配的方法来适配,系统不认识mdpi文件夹下的尺寸,会去找values文件夹下的dimens文件里的尺寸。没有找到swxxxdp也没有找到默认尺寸,就会报资源找不到异常。
三.屏幕尺寸限定符sw


对于Android3.0的平板,声明平板Tablet的正确方式是将资源放在有xlarge配置限定符的目录,本质上是使用屏幕尺寸限定符,例如res/layout-xlarge/。为适应多屏幕尺寸,Android3.2引入了更具体的屏幕尺寸指定资源的方式。
设备Tablet在3.0系统时可以使用屏幕限定符small、normal、large、xlarge等命名备用资源,从3.2以后,Tablet使用新的限定符smallestWidth,限定符值为swdp。

选择一个宽度并将其设计为最小尺寸(基本上这个最小宽度要跟ui沟通好,可用ui的设计基准作为最小宽度),或者在布局设计玩完成后测试其支持的最小宽度。

swdp:最小宽度限定符。

例如:(取两个尺寸的最短者)

设备1024x480mdpi=sw480dp

设备1024x600mdpi=sw600dp

设备480x600mdpi =sw480dp

设备480x640mdpi=sw480dp

设备2560x1440mdpi=sw1440dp

sw480dp:中间平板电脑,例如Streak(480x800mdpi)

sw600dp:7英寸平板电脑(600x1024mdpi)

sw720dp:10英寸平板电脑(720x1280mdpi、800x1280mdpi等)
下面附上Android中分辨率,DPI,DP与PX对应关系

| 宽×高(标准值)| 240×320| 320×480| 480×800|720×1280|1080×1920|1440×2560|
| ------------- |:-------------? -----?
| DPI等级 | LDPI | MDPI| HDPI|XHDPI|XXHDPI|XXXHDPI|
|DPI数值|120|160|240|320|480|640|
|对应比例|3|4|6|8|12|16|
|1DP=?PX|0.75|1|1.5|2|3|4
综上得出:

dpppi/160=px 比如ppi=240,19201200的swDP=sw(1200/(240/160))=sw800dp
例子:layout-sw600dp、layout-w600dp和layout-h600dp的区别

一、layout-sw600dp

这里的sw代表smallwidth的意思,当你的屏幕的绝对宽度大于600dp时,屏幕就会自动调用layout-sw600dp文件夹里面的布局。
    注意:这里的绝对宽度是指手机的实际宽度,即与手机是否横屏没关系,也就是手机较小的边的长度

二、layout-w600dp

当你的屏幕的相对宽度大于600dp时,屏幕就会自动调用layout-w600dp文件夹里面的布局。
    注意:这里的相对宽度是指手机相对放置的宽度;即当手机竖屏时,为较小边的长度;当手机横屏时,为较长边的长度。

三、layout-h600dp

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

注意:这里的相对高度是指手机相对放置的高度;即当手机竖屏时,为较长边的长度;当手机横屏时,为较小边的长度。但这种方式很少使用,因为屏幕在相对高度上,即在纵向上通常能够滚动导致长度变化,而不像横向那样基本固定,因而这个方法灵活性差,google官方文档建议尽量使用这种方式,这里的单位必须是dp单位。资源使用“最小宽度限定符”swdp用于指定屏幕两边的最小值,而不管设备当前的方向如何。因此使用swdp是指定 布局可用于整体屏幕尺寸的简便方法,它会忽略屏幕的方向。ps:当横竖屏切换时,width和height值也会交换。。
总结:

平板的适配基准sw480dp、sw600dp、sw720dp等,手机屏幕的适配基准是mdpi、hdpi、xhdpi等。
---------------------
作者:lss0555
来源:CSDN
原文:https://blog.csdn.net/u010520146/article/details/81392206
版权声明:本文为博主原创文章,转载请附上博文链接!

Android适配手机与平板屏幕尺寸相关推荐

  1. Android 适配手机和平板

    一.屏幕适配限定符 Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目 ...

  2. android适配手机与平板,关于平板适配问题

    1.如果用了这个框架,什么都不做的话,在平板上会放大很多 2.有些应用也不必专门为平板做一套UI,取消autoSize适配,默认的效果也不错. 3.实现onAdaptListener,在onAdapt ...

  3. Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性

    Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性   出发点:Android系统本身是支持多种分辨率的,如图1所示,一般情况下要适配不同尺寸的设备只需要做两件事, ...

  4. Android适配自己总结的心德 同时适配手机和平板 同时适配横竖屏幕切换

    前言:关于这个问题就设计到了很多单位了,什么px.pt.dp.sp,手机尺寸,ppi等等,我这里只介绍我解除过比较靠谱的.如果你有更好的屏幕适配方案,请在评论区留下链接.非常感谢 一.最小宽度 限定符 ...

  5. Android 安兔兔测试屏幕尺寸与实际不符的问题修改

    Android 安兔兔测试屏幕尺寸与实际不符的问题修改 此修改为展讯平台 Android11 kernel/kernel4.14/arch/arm/boot/dts/lcd/lcd_XXX.dtsi ...

  6. 基于 vue3.x + vite + element plus,适配手机、平板、pc 的后台开源免费模板库

    介绍 vue-next-admin 基于 vue3.x + CompositionAPI + typescript + vite + element plus + vue-router-next + ...

  7. Android端与PC端同步绘画板(二)-适配手机和PC屏幕大小

    前言 关于手机端与PC端如何建立通讯,请参考: Android端与PC端同步绘画板(一)-使用Socket建立连接 这篇文章我们来简单说一下关于手机端和PC端的屏幕适配问题,因为我们都知道因为Andr ...

  8. android 最新头条适配,android 平板适配,今日头条适配(同时适配手机和平板)

    新项目,做平板适配,看了网上的很多适配方案,感觉都不合适,最后,干脆用今日头条适配. 经几个月的临床经验,果然能用,但是要注意几个问题: (顺便说一下,如果身边有丝袜,短裙,哈哈哈哈,好姑娘....? ...

  9. Android 系统(83)---屏幕尺寸

    Android屏幕尺寸详解 1.重要概念 随着Android厂商对系统的不断定制,Android出现越来越多不同尺寸的手机,由于尺寸和分辨率等不同,从而导致Android的适配成为一个老大难的问题,今 ...

最新文章

  1. 面了小 100 人,90% 都背了面试题......
  2. 五、(H3C)基于802.1x+AD+DHCP+NPS动态下发vlan 华三交换机配置
  3. 加载cv2调用摄像头_用Python获取摄像头并实时控制人脸
  4. python【蓝桥杯vip练习题库】ADV-281特等奖学金
  5. a extends b java_(class B extends A) 怎么解释?A是上一个类名
  6. cos66度20分怎么用计算机算,物化2期末考试计算复习题
  7. 硬盘数据恢复经验(转)
  8. 《Python CookBook2》 第四章 Python技巧 对象拷贝 通过列表推导构建列表
  9. kNN算法__手写识别——基于Python和NumPy函数库
  10. Layer 提示框tips使用(批量提示)
  11. 【梳理】高等代数(北大) 第一章 线性方程组(docx)
  12. Boom 2 for Mac(音频助推器及均衡器) v1.6.7中文激活版
  13. 新版白话空间统计(11):ArcGIS中的PZ值标尺
  14. 服务器节点数及系统数量,计算节点服务器数量16.docx
  15. W25Q128FV译文(一)
  16. 如何以活动价在官网购买百度网盘会员
  17. labelImg ZeroDivisionError: float division by zero解决办法
  18. 综合布线施工的技术交底
  19. 泰国8日自助游攻略(普吉+清迈)
  20. 如何进行用户行为分析

热门文章

  1. 遇到错误:python文件读写权限permission denied
  2. doxygen安装与使用
  3. Mac OSX ffmpeg 硬件加速
  4. Codeforces Round #777 (Div. 2) (A-D题解)
  5. 服务器2003系统怎么卸载软件,WindowsXP系统添加删除程序的方法
  6. 安徽省计算机基础应用成绩查询,安徽计算机一级考试成绩查询入口
  7. 安装STK-CS61A 2011使用的Scheme解释器
  8. 【转】什么是加密经济学
  9. JS版小黄脸大战游戏(DOM (html+css+js))
  10. Python实现电阻计算器——快速计算电阻值