看到上面这个标题:肯定知道xd素材中文网这节课需要跟大家聊的大概主题了吧!

没错,就是Android设计规范当中必须了解的四种屏幕尺寸和四种密度分类。为什么只有Android界面上会产生四种屏幕尺寸和四种密度呢?

主要原因就是安卓android多屏幕的支持机制。

如今的安卓手机屏幕很多,层次不齐。最大的1920*1080 最小的还是240*320等等。

中间的跨度很大啊。

目前的主流的就是720*1280  1920×1080    5英寸或者5.5英寸的智能安卓手机啦。

Android的支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源。

Android平台中支持一系列你所提供的指定大小(size-specific),指定密度(density-specific)的合适资源。

四种屏幕尺寸分类:: small, normal, large, and xlarge

四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)

Android有个自动匹配机制去选择对应的布局和图片资源

1)界面布局方面

根据物理尺寸的大小准备5套布局:

layout(放一些通用布局xml文件,比如界面顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar),

layout-small(屏幕尺寸小于3英寸左右的布局),

layout-normal(屏幕尺寸小于4.5英寸左右),

layout-large(4英寸-7英寸之间),

layout-xlarge(7-10英寸之间)

2)图片资源方面

需要根据dpi值准备5套图片资源:

drawable:主要放置xml配置文件或者对分辨率要求较低的图片

drawalbe-ldpi:低分辨率的图片,如QVGA (240×320)

drawable-mdpi:中等分辨率的图片,如HVGA (320×480)

drawable-hdpi:高分辨率的图片,如WVGA (480×800),FWVGA (480×854)

drawable-xhdpi:至少960dp x 720dp

Android有个自动匹配机制去选择对应的布局和图片资源。

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。

四种屏幕尺寸和四种密度的基本概念:

1.屏幕尺寸Screen size

即显示屏幕的实际大小,按照屏幕的对角线进行测量。

为简单起见,Android把所有的屏幕大小分为四种尺寸:小,普通,大,超大(分别对应:small, normal, large, and extra large).

应用程序可以为这四种尺寸分别提供不同的自定义屏幕布局-平台将根据屏幕实际尺寸选择对应布局进行渲染,这种选择对于程序侧是透明的。

2.屏幕长宽比Aspect ratio

长宽比是屏幕的物理宽度与物理高度的比例关系。应用程序可以通过使用限定的资源来为指定的长宽比提供屏幕布局资源。

3.屏幕分辨率Resolution

在屏幕上显示的物理像素总和。需要注意的是:尽管分辨率通常用宽x高表示,但分辨率并不意味着具体的屏幕长宽比。

在Andorid系统中,应用程序不直接使用分辨率。

4.密度Density

根据像素分辨率,在屏幕指定物理宽高范围内能显示的像素数量。

在同样的宽高区域,低密度的显示屏能显示的像素较少,而高密度的显示屏则能显示更多的像素。

屏幕密度非常重要,因为其它条件不变的情况下,一共宽高固定的UI组件(比如一个按钮)在在低密度的显示屏上显得很大, 而在高密度显示屏上看起来就很小。

为简单起见,Android把所有的屏幕分辨率也分为四种尺寸:小,普通,大,超大(分别对应:small, normal, large, and extra large).

应用程序可以为这四种尺寸分别提供不同的资源-平台将透明的对资源进行缩放以适配指定的屏幕分辨率。

5.设备独立像素Density-independent pixel (dp)

应用程序可以用来定义UI组件的虚拟像素单元,通过密度无关的方式来描述布局尺寸和位置。

一个设备独立像素相当于一个160 dpi屏幕上的物理像素。

在程序运行时,系统根据屏幕的实际密度透明的处理任何需要缩放的设备独立像素单元,设备独立像素转换成屏幕实际像素的换算很简单:pixels = dps * (density / 160).

例如在240 dpi的屏幕上,1个设备独立像素等于1.5物理像素.为确保UI组件在不同的屏幕都能合适的展示,强烈建议使用设备独立像素单元来定义你的应用程序UI。

android的设计规范了解,Android设计规范常识:四种屏幕尺寸和四种密度相关推荐

  1. android 布局覆盖 超出一部分_谈谈移动端屏幕适配的几种方法

    文/腾讯 莫振中 移动端web开发相对于PC端web开发,我们可以庆幸不用兼容那么多浏览器了,但是随之而来的却是各种屏幕尺寸的适配,个人觉得,比PC端还要费精力.在使用了腾讯优测进行软件测试后,问题得 ...

  2. android查看屏幕大小,android获取屏幕尺寸的三种代码

    第一种:DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); ...

  3. android ui布局适配,Android适配全面总结(一)----屏幕适配

    前言 Android适配是一个老生常谈的问题,很多程序员觉得很恶心,不愿意做适配,但是又不得不做.然后老板说,这位兄弟,做好了,今天晚饭给你加个鸡腿,然后程序员开始找各种资料,忙活起来了,最终在苦逼的 ...

  4. android 布局 不同屏幕大小,如何创建支持不同屏幕尺寸的Android应用

    Supporting Different Screens Android用两种常规属性来分类设备屏幕:尺寸和像素密度.作为开发者,你应当预料到你的android应用程序将会被安装到不同屏幕尺寸和像素密 ...

  5. 如何创建支持不同屏幕尺寸的Android应用(转载)

    2019独角兽企业重金招聘Python工程师标准>>> 源地址:http://wiki.eoe.cn/page/Supporting_Different_Screens Suppor ...

  6. 创建支持多种屏幕尺寸的Android应用

    负责人:冰凝 原文链接:http://developer.android.com/guide/practices/screens_support.html Android涉及各种各样的支持不同屏幕尺寸 ...

  7. Android开发系列——实战篇5:自适应屏幕尺寸(超详细教程)

    在实战篇4中构建了界面之后,在模拟器中完好的布局,在实际下载到手机上的时候,却出现了布局不协调的问题. 在模拟器Nexus6上的布局界面: 在真机HUWEI P10 Plus上的布局界面: 在真机HU ...

  8. Supporting Multiple Screens(支持Android各种屏幕尺寸)

    原文链接 本文翻译自Supporting Multiple Screens. 目前我这篇翻译应该是最全,最完整的官方文档翻译,转载我的翻译请联系本人,标明出处. Supporting Multiple ...

  9. 2021年最全Android屏幕适配的度量单位px dp(dip) ppi dpi sp pt的区别(最详细,屏幕尺寸,屏幕分辨率,屏幕兼容,屏幕适配)

    0 前言 快乐李同学最新在学习Android屏幕适配相关的知识点,其中涉及到了很多Android屏幕适配相关概念和度量单位,但是快乐李同学掌握的相关知识不牢固,于是决定写出这两篇文章对这方面的知识点做 ...

最新文章

  1. Java浮点值拒绝服务漏洞危害分析
  2. 深入理解 C 指针阅读笔记 -- 第四章
  3. 如果通过当前元素知道父元素、同级元素
  4. 写了 10 年代码之后,我学到的 7 个绝对真理
  5. pytorch1.7教程实验——对抗示例生成FGSM
  6. Java中各种引用(Reference)解析
  7. mysql清除旧版本_MYSQL使用INNODB时及时清理旧版本数据
  8. 蓝桥杯python试题_Python爬取蓝桥杯真题讲解课程
  9. 教你划分必要开支和非必要开支
  10. 国际数棋(图形界面、网络版、AI)
  11. codeforces1467E. Distinctive Roots in a Tree
  12. YOLOX论文逐句翻译
  13. python之简介及入门
  14. PostgreSQL11 | pgadmin4基本使用
  15. 一份完整的报价单内容
  16. UIImageView视图内容按比例缩小并淅淅隐去
  17. 如何用python打印三角阵列_如何打印完整的NumPy阵列?
  18. 五行代码实现MD5加密(超级简单,一看就会)
  19. UA OPTI570 量子力学19 量子谐振子的能量本征态
  20. 完美日记母公司逸仙电商发布Q4财报净亏损同比收窄42.5%

热门文章

  1. linux下的rtc设备驱动,linux下测试RTC驱动相关的命令date和hwclock常见用法讲解
  2. 小学生都开始学的Python编程到底是什么?
  3. [译文] 图解 Java 垃圾回收机制
  4. Hive orc表 删除字段
  5. Struts2框架-2
  6. 像素与字号的换算(转)
  7. application.yml文件使用
  8. 计算机串口通信的作用,串口通信协议
  9. 【前端工程化】windicss ,默认自带的字体颜色不好使,在背景色background-color中使用默认颜色的配置,windi.config.ts的配置注意事项
  10. 如何在Windows终端中更改文本颜色