Android使用最小宽度限定符时最小宽度的计算
Android开发中最头疼的问题之一就是兼容不同尺寸和分辨率的设备。这里推荐一篇总结的比较完整的《Android开发:最全面、最易懂的Android屏幕适配解决方案》。这篇文章对屏幕兼容的许多问题都做了详述,这里只补充一点,就是关于在使用最小宽度限定符时这个最小宽度的该如何计算。
最小宽度限定符可以使用一个与屏幕像素密度无关为单位(dp)的数值区分出的不同设备,以应用不同的资源。如下图中values-sw600dp的sw表示最小宽度,那么600dp是如何确定的呢?
举个例子:一般情况下我们可以容易知道设备的分辨率和尺寸的参数。比如现在有平板A(分辨率1280*720px,尺寸是8inch),手机B(分辨率1920*1080px,尺寸是5.7inch),手机C(分辨率1280*720px,尺寸是5inch)。通过下面的屏幕像素密度的计算公式,我们可以分别计算出他们的屏幕像素密度:
平板A约为184dpi,手机B约为386dpi,手机C约为293dpi。
接下里需要注意的是,最小宽度是不考虑横屏或竖屏的,也就是说最小宽度是设备屏幕四条边里最短的那两条边。如果需要考虑横竖屏那么可以加入屏幕方向限定符,这不在我们讨论之列。那么接下来我们取最短边的像素数,并通过下面的公式计算最小宽度(dp):
平板A约为626dp,手机B约为448dp,手机C约为393dp。
如上,使用600dp就可以区分出平板和手机两类设备,如果需要详细区分手机B和C可以再考虑设置sw400dp作为区分。
Android使用最小宽度限定符时最小宽度的计算的更多相关文章
- Android笔记:限定符
屏幕特征限定符描述大小 small 提供给小屏幕设备的资源 normal 提供给中等屏幕设备的资源 large 提供给大屏幕设备的资源 xlarge 提供给超大屏幕设备的资源分辨率 ldpi 提供给低 ...
- Android屏幕适配方案——基于最小宽度(Smallest-width)限定符
转自:https://www.cnblogs.com/error404/p/3815739.html 一.关于布局适配建议 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_ ...
- Android入门(七)碎片的生命周期与限定符
原文链接:http://www.orlion.ga/560/ 这篇文章实际已经在上篇文章中写的差不多了,但是万恶的wordpress没保存!已经不止一次出现这种情况了! 一.碎片的生命周期 1.碎片的 ...
- Android 限定符
Android中一些常见的限定符可以参考下表. 使用最小宽度限定符 在上一小节中我们使用large限定符成功解决了单页双页的判断问题,不过很快又有一个新的问题出现了,large到底是指多大呢?有的时候 ...
- 安卓UI适配限定符
引言 对于程序在不同尺寸的Android机器上执行,对UI的适用性造成了额外的开销,只是限定符的出现,非常方便的攻克了这个问题.通过创建限定符相关的文件夹来解决资源的载入. 限定符用处 限定符(mdp ...
- 【Android】4.2 资源限定符和可视化选项
分类:C#.Android.VS2015:创建日期:2016-02-06 在设计界面中,所有资源都可以被限定为使用哪个国家或地区的语言.例如,将字符串资源限定为默认使用中文等. 将字符串资源限定为默认 ...
- Android资源限定符
Android系统会根据设备参数,自动选择最佳资源配置方案. Android中常见的资源限定符: 屏幕特征 限定符 描述 大小 small 提供给小屏幕设备的资源 normal 提供给中等屏幕设备的资 ...
- [汇编与C语言关系]5. volatile限定符
现在研究一下编译器优化会对生成的指令产生什么影响,在此基础上介绍C语言的volatile限定符.首先看下面的C程序: /* artificial device registers */ unsigne ...
- C++const限定符
在C语言中我们使用#define宏定义的方式来处理符号常量.而在C++中有一种更好的处理符号常量的方法,那就是使用const关键字来修改变量声明和初始化.这种处理常量方式的好处不言而喻:如果程序在多处 ...
随机推荐
- WinForm中显示PDF文件
一.VS2013中,菜单-工具-选择工具箱项-COM组件-勾选“Adobe PDF Reader”-确定 二.在工具箱中就可以看到Adobe PDF Reader控件了,拖到窗体上. 拖到窗体上之后, ...
- C# BS消息推送 负载均衡-SignalR&Redis的配置(三)
1. 前言 本文是根据网上前人的总结得出的. 环境: SignalR2.x,VS2015,Win10 2. 负载均衡配置 配置很简单,只要在startup类中添加Redis的连接就OK. 1)首先,引 ...
- 慕课网H5圣诞主题
继七夕之后,我又出了一个圣诞主题的课程.圣诞主题是基于HTML5+CSS+JS编写与实现的,同时也是七夕主题的故事延续.圣诞主题依旧延续着七夕主题设计的思路,引入了3个经典的场景页面,在每个场景中表述 ...
- ROC曲线、PR曲线
在论文的结果分析中,ROC和PR曲线是经常用到的两个有力的展示图. 1.ROC曲线 ROC曲线(receiver operating characteristic)是一种对于灵敏度进行描述的功能图像. ...
- WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展
一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本 ...
- (转)ubuntu apache2 的负载均衡和反向代理
apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置. 首先说 ...
- spring boot(三):Spring Boot中Redis的使用
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...
- jackson简单使用,对象转json,json转对象,json转list
添加jackson依赖: // https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core compile g ...
- 扩展方法(C#)
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 下面的示例为String添加 ...
- shiro的使用2 灵活使用shiro的密码服务模块
shiro最闪亮的四大特征是认证,授权,加密,会话管理. 上一篇已经演示了如何使用shiro的授权模块,有了shiro这个利器,可以以统一的编码方式对用户的登入,登出,认证进行管理,相当的优雅. 为了 ...