Loading [MathJax]/extensions/TeX/AMSmath.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )

【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )

作者头像
韩曙亮
发布于 2023-03-30 08:12:34
发布于 2023-03-30 08:12:34
7.2K0
举报

文章目录

参考文档 :

一、屏幕适配限定符


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

如 : 横竖屏切换时 , res/layout-land 目录中 , 存放的是横屏布局 , res/layout-port 目录中 , 存放的是竖屏布局 ;

屏幕尺寸限定符 :

  • small : 小屏幕 ;
  • normal : 标准屏幕 ;
  • large : 大屏幕 ;
  • xlarge : 超大屏幕 ;

屏幕密度限定符 :

  • ldpi : 低屏幕像素密度 ,
0<dpi120

;

  • mdpi : 中屏幕像素密度 ,
120<dpi160

;

  • hdpi : 高屏幕像素密度 ,
160<dpi240

;

  • xhdpi : 超高屏幕像素密度 ,

;

  • xxhdpi : 超超高屏幕像素密度 ,

;

  • xxxhdpi : 超超超高屏幕像素密度 ,

;

屏幕方向限定符 : 一般是用于横竖屏切换时进行适配 ;

  • land : 横线屏幕 ;
  • port : 纵向屏幕 ;

屏幕宽高比限定符 : 标准屏幕宽高比为

;

  • long : 比标准屏幕要长的屏幕 , 如

,

;

  • notlong : 标准屏幕 ;

二、手机/平板电脑设备屏幕适配


平板电脑市场占有率

Android 平板市场占有率如下 , 大概还是占了 40% 左右 , 因此平板适配还是很重要的 ;

密度无关像素计算

一般情况下 , 平板电脑的布局或图片资源 , 放在 res/layout-swxxdp 目录下 , 其中的 xx 是横向的 密度无关像素 ( DIP , Desity Independent Pixels ) 值 , 单位是 dp / dip ;

【Android 屏幕适配】屏幕适配基础概念 ① ( Android 与 iOS 屏幕宽高比种类 | 屏幕像素密度 DPI ) 博客中 , 计算了

寸屏幕 ,

像素的屏幕的 屏幕像素密度 ( Dots Per Inch , 每英寸的像素点个数 ) , 值为 500 , 也就是每英寸有

个像素点 ;

将其转为 dp 单位 , 根据公式 :

该设备的横向 密度无关像素 ( DIP , Desity Independent Pixels ) 值为

;

手机设备限定符

在 布局 或 图片 目录名称中 , 加上 sw360dp 限定符 , 几乎兼容所有的手机设备 ; 当前市面上的手机 , 屏幕宽度 很少有超过

dp 的 ;

只要横向 密度无关像素

, 就可以使用 sw360dp 限定符下的资源 , 如 res/layout-sw360dp 目录下的资源 ;

平板设备限定符

在 布局 或 图片 目录名称中 ,

  • 加上 sw480dp 限定符 , 对应 7 寸平板电脑 ;
  • 加上 sw560dp 限定符 , 对应 8 寸平板电脑 ;
  • 加上 sw720dp 限定符 , 对应 10 寸平板电脑 ;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端day19-JS高级(函数调用的上下文模式)学习笔记
1.1复习函数三种调用方式:普通函数 对象方法 构造函数(理解this关键字作用:谁调用这个函数,this指向谁)
帅的一麻皮
2020/05/10
1.2K0
前端学习(37)~js学习(十四):对象的创建
第一次看到这种工厂模式时,你可能会觉得陌生。如果简化一下,可以写成下面这种形式,更容易理解:(也就是,利用new Object创建对象)
Vincent-yuan
2020/03/18
1.7K0
前端day17-JS高级(原型对象)学习笔记
01-面向对象编程 1.1-面向对象编程介绍 1.理解什么是面向对象编程 面向对象不是一门技术,而是一种解决问题的思维方式 面向对象的本质是对面向过程的一种封装 2.理解什么是对象 对象的本质是程序代码与现实世界沟通的一座桥梁。它有两种函数 对象:是一种数据类型(存储数据的容器),以键值对的形式存储数据 对象:对现实世界实物的一种抽象。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</t
帅的一麻皮
2020/05/07
5070
前端day17-JS高级(原型对象)学习笔记
JavaScript之面向对象学习七(动态原型模式、寄生构造函数模式、稳妥构造函数模式创建自定义类型)
一、动态原型模式 在面向对象学习六中的随笔中,了解到组合构造函数模式和原型模式创建的自定义类型可能最完善的!但是人无完人,代码亦是如此! 有其他oo语言经验的开发人员在看到独立的构造函数和原型时,很可能会感到非常困惑。因为对象在其他oo语言中往往是封装在一块的,而构造函数确是和原型分开的,所以并没有真正意义上的封装,所以动态原型模式正是致力与解决这一问题的一个方案! 动态原型模式将所有的信息都封装在构造函数中(包括原型和实例属性),通过在构造函数中实例化原型(仅在必要的情况下)实现封装,又保持了同时使用构造
郑小超.
2018/01/24
1.1K0
JS进阶(1) —— 人人都能懂的构造函数
大家都知道原型和原型链是 JavaScript 中最经典的问题之一,而构造函数又是原型和原型链的基础,所以先了解清楚构造函数以及它的执行过程可以更好地帮助我们学习原型和原型链的知识。
全栈程序员站长
2022/07/20
1K0
JS进阶(1) —— 人人都能懂的构造函数
JavaScript 学习-7.函数定义的几种方式
之前学习变量的时候,学到一个词:”声明提升”,函数声明也会被提升。 “hoisting(声明提升)”:函数声明和变量声明总是会被解释器悄悄地被”提升”到方法体的最顶部。
上海-悠悠
2022/05/17
9070
js构造函数的理解
作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。 1、什么是构造函数 2、为什么要使用构造函数? 3、构造函数的执行过程 4、构造函数的返回值 5、构造函数首字母必须大写吗? 6、不用new关键字,直接运行构造函数,是否会出错?如果不会出错,那么,用new和不用new调用构造函数,有什么区别?
ZEHAN
2020/09/23
2.2K0
谈谈ES6语法(汇总下篇)
ES2017标准引入了async函数,使得异步操作更加方便。async函数是Generator函数的语法糖。不打算写Generator函数,感兴趣的话可以看文档。与Generator返回值(Iterator对象)不同,async返回的是一个Promise对象。
Jimmy_is_jimmy
2019/07/31
3990
《JavaScript高级程序设计》读书笔记
数据传送率的单位.意思是每秒钟多少千字节.比如20Kbit/s就是每秒钟20000个字节.一般上网、下载的速度用这个单位.adsl宽带上网下载速度大概为30-50Kbit/s.
用户3880999
2023/04/13
6670
《JavaScript高级程序设计》读书笔记
前端day10-JS学习笔记(数组、函数、对象)
3.变量取值: 函数名 (不会执行函数体代码,只是以字符串形式将变量中存储的东西打印出来而已)
帅的一麻皮
2020/04/09
1.8K0
前端day10-JS学习笔记(数组、函数、对象)
详解JavaScript对象继承方式
其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式)。因为构造函数只是一个函数,所以可使 Parent 构造函数 成为 Children 的方法,然后调用它。Children 就会收到 Parent 的构造函数中定义的属性和方法。例如,用下面的方式定义 Parent 和 Children:
用户6167509
2019/09/04
4550
理解构造函数与原型对象
在Es6之前,由于javascript没有对类的支持,也就是说它并不具备如传统后台语言(比如java)拥有类的功能,所谓类就是用来描述事物中的属性和行为的,类的特征是由成员组成的,而属性对应的就是类中的成员变量,而方法对应的就是类中的成员方法,这是传统oop语言的描述,然而在javascript中,虽没有类的概念,但是它往往是通过构造函数和原型对象来给对象模拟与类相似的功能,但是这些相似的功能并不一定表现的与类完全一致,其实创建构造函数的过程,就是创建模板的过程,类一定程度上与此相似,创建多个共享的特定的属性和方法,用于生成对象的饼干工具,主要目的是提高代码的可复用性,也提高了代码的性能,有时候,在我们无意间就已经在使用了这些特性,什么构造函数,原型,个人觉得,初次理解起来很是抽象,自己也是稀里糊涂的觉得实际开发中到底有什么卵用,也许后者在不涉及复杂的功能需求时,平时用得不多,显然Es6中已新增了类class的功能,越来越严格,越来越像后端语言,Es6,Es7新增的诸多方法也越来越强大,但是我觉得理解构造函数与原型对象还是有必要的,是js面向对象编程的基础,今天就我的学习和使用跟大家分享一下学习心得,初学者学习笔记心得,欢迎路过的老师多提意见和指正..
itclanCoder
2020/10/28
1.1K0
理解构造函数与原型对象
js之工厂构造函数模式
本文为译文,初次翻译,如有误导,请多多包含,如阅读英文,可直接扫文末二维码阅读即可,若想读另外一篇可戳链接理解构造函数与原型对象
itclanCoder
2020/10/28
1.2K0
js之工厂构造函数模式
JS进阶第三天
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次
小城故事
2023/05/12
2160
前端基础-JavaScript构造函数
JavaScript 语言使用构造函数作为对象的模板。 所谓 ”构造函数”,就是一个普通的函数,只不过我们专门用它来生成对象(new 构造函数),这样使用的函数,就是构造函数;
cwl_java
2020/03/26
5780
JS面向对象的程序设计
http://www.cnblogs.com/gaojun/p/3386552.html
bear_fish
2018/09/19
1.3K0
前端基本数据类型_js简单数据类型
Number: 数字(数字可以带小数点也可以不带)、NaN、Infinity String: 字符串可以是引号中的任意文本。双引号单引号都可以。也可以使用ES6的模板字符串 “ 如:
全栈程序员站长
2022/11/03
1.4K0
JS篇(009)-javascript 对象的几种创建方式
这行代码创建了 Object 引用类型的一个新实例,然后把实例保存在变量 Person 中。 第二种:使用对象字面量表示法
齐丶先丶森
2022/05/12
1.7K0
JavaScript之面向对象学习一
1、通过Object构造函数和对象字面量来创建对象缺点:使用同一个接口创建很多的对象,会产生大量的重复代码。比如我需要创建人的对象,并且需要三类人,医生、工程师、老师,他们可以抽象出很多属性,比如姓名、年龄、工作等,只是各自的值不一样,如果这里我用Object或者对象字面量来创建的话,那我必须每个人都写一次这三个属性,造成了代码重复。 2、思考下方法一的问题,我们发现我们可以通过一个工厂来创建对象,这样做的好处是,我们能把一些共同的属性封装到工厂里面,而我们创建对象时,只需要把对象的参数,传递给工厂函数,在
郑小超.
2018/01/24
5000
JavaScript之面向对象学习一
前端基础-JavaScript对象(Object)
第9章 对象(Object) 9.1 什么是对象 万物皆对象 现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。 举例: 一部车,一个手机 车是一类事物,门口停的那辆车才是对象 特征:红色、四个轮子 行为:驾驶、刹车 9.2 JavaScript中的对象 JavaScript中的对象其实就是生活中对象的一个抽象 JavaScript的对象是无序属性的集合。 其属性可以包含基本值、对象、数组或函数。 对象就是一组没有顺序的值。 我们可以把JavaScript中的对象想象成键值对
cwl_java
2020/03/26
8380
相关推荐
前端day19-JS高级(函数调用的上下文模式)学习笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档