/**
* 作者:David Zheng on 2015/11/7 15:38 * * 

网站:http://www.93sec.cc
* *

 微博:http://weibo.com/mcxiaobing
* * 

微博:http://weibo.com/93sec.cc
*/ 个人交流QQ986945193
屏幕适配简介(了解)
  • Android的屏幕有大有小,为了对不同大小屏幕的设备提供最好的体验,需要对不同大小的设备进行不同的设计,让他们产生的效果一样的。
  • 进入友盟:http://www.umeng.com/ 
     ,专门提供移动端数据统计的网站。查看Android屏幕设备,以及分辨率指数,发现android中的屏幕碎片化太严重。
  • 所以我们只要尽量适配这几种分辨率,就可以在大部分的手机上正常运行了。

屏幕适配中几个重要的概念 ( 记忆 )
  • 什么是屏幕尺寸、屏幕分辨率、屏幕像素密度?

    • 屏幕尺寸:屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米
    • 屏幕分辨率:横纵向上的像素点数,单位是px,1px=1个像素点   (屏幕适配和它没有关系)
    • 屏幕像素密度:每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。 (屏幕适配和dpi有关系)
  • 什么是dp、dip、dpi、px?他们之间的关系是什么?
    • px:其实就是像素,UI设计、Android原生API都会以px作为统一的计量单位,像是获取屏幕宽高等。
    • dp,dip和dpi:Density Independent Pixels ,也就是密度无关像素。每个英寸上的像素点


  • 什么是mdpi、hdpi、xdpi?如何计算和区分?
    • mdpi (medium-density) :   每个英寸约占160dpi。这个是基准线dpi
    • hdpi (high-density):每个英寸约占240dpi。
    • xhdpi(extra high-density):每个英寸约占320dpi。
    • xxhdpi (extra-extra-high-density ) : 每个英寸约占480dpi
  • 缩放因子:(原理性东西,理解)
    • ldpi : mdpi : hdpi : xhdpi : xxhdpi=3:4:6:8  : 12
    • icon图标的计算:  
      • 基准线是 mdpi,图标为:48*48
      • ldpi :   0.75*48=36  所以 为  36*36
      • hdpi:   72*72
      • xhdpi:   96*96
        


屏幕适配的几种方式(理解记忆) 
 
  • 图片适配(不是很常用)在res目录下,分别有这些mdpi、hdpi、xdpi、xxdpi 对应的文件夹。

    通过在这些不同的文件夹下,放入不同的图片,不同的手机会自动加载相应的图片,以达到屏幕适配。但是这种不太常用,因为图片比较暂用存储空间,打出来的apk包也会相应的变大。所以一般只用一套主流的图片,或者对各别有问题的图标进行适配。

  • 布局适配(不常用)

    • 比如有一个主流分辨率的手机加载布局后,UI效果很差,我们就可以使用布局适配
    • 语法:大的数字写到前面,小的数字写到后面,中间是x连接
    • 举个栗子:layout-1280x720
    • 没图说个**:
  • dimens适配(尺寸适配)(常用)
    • 不同values下写dimens,以便达到尺寸适配
    • 举个例子:values-1280x720
    • 图片说明:
  • 权重适配(常用)
  • 代码适配(常用)
    • 获得屏幕的宽高
    • 计算出控件所占屏幕的比例
    • 根据比例动态设置控件的宽高
    • 举个例子:
                    //获得屏幕的宽高
                  DisplayMetrics displayMetrics = new DisplayMetrics();   
                  getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
                  int heightPixels = displayMetrics.heightPixels;
                  int widthPixels = displayMetrics.widthPixels;

屏幕适配 部分知识点总结,CSDN小冰原创的更多相关文章

  1. [原创]一种Unity2D多分辨率屏幕适配方案

    此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有使用第三方2D插件,如Uni2D,2D toolkit等开发的游戏,NGUI插件不受这个 ...

  2. 一篇不一样的Android屏幕适配具体做法(原创)

    转载请注明出处(http://www.cnblogs.com/weizhxa/p/7568090.html ) 有不正确,还请大家留言修正! 1.何谓屏幕适配:在任何设备上看起来布局都是近似的,细分也 ...

  3. cocos creator屏幕适配的一些知识点

    一. cocos creator 提供的几种适配策略 EXACT_FIT: 整个应用程序在指定区域可见,无需尝试保留原始纵横比.可能会出现失真,应用程序会被拉伸或压缩.也就是说设计分辨率的长和宽不会等 ...

  4. Android 屏幕适配方案

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45460089: 本文出自:[张鸿洋的博客] 1.概述 大家在Android开发 ...

  5. 从零开始学 Web 之 移动Web(一)屏幕相关基本知识,调试,视口,屏幕适配

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  6. Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi

    Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...

  7. Android屏幕适配全攻略 (转载)

    http://blog.csdn.net/jdsjlzx/article/details/45891551 https://github.com/hongyangAndroid/AndroidAuto ...

  8. android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项

    1 Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3VGA     640*480 (Video Graphics Array)QVGA  320*240 (Quarter VGA ...

  9. 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)

    来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...

随机推荐

  1. springMVC 获取request参数

    持续补充............ GET 常用的:@PathVariable  @RequestParam   request.getParameter POST 常用的:@ResponseBody  ...

  2. Linux分布式机器 设置机器名字

    查看主机的名字: hostname 1.临时修改 [root@localhost datas]# hostname slaver 临时修改,重启服务器后就不生效了 [root@localhost da ...

  3. 用 Python 可以实现侧脸转正脸?我也要试一下!

    作者 | 李秋键 责编 | Carol 封图 | CSDN 下载自视觉中国 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例 ...

  4. CentOS7安装MinIO教程,并在C#客户端WPF中实现监控上传进度

    MinIO的详细介绍可以参考官网(https://min.io/product/overview). 简单来说它是一个实现了AWS S3标准的100%开源的,可商用的( Apache V2 licen ...

  5. centos 8 安装和网络配置

    centos 8 系统安装 系统安装步骤 启动服务器之后选择 Install CentOs Linux 8 选择语言然后下一步 配置 磁盘(Installation Destir) 这里选择默认配置 ...

  6. ZoneJS 的原理与应用

    目录 序言 Zone 是什么 ZoneJS 的原理 ZoneJS 的应用场景 参考 1. 序言 ZoneJS 是 Angular 团队受到 Dart 的 Zone 的启发,为 Angular v2 及 ...

  7. canvas图片编辑操作:缩放、移动、保存(PC端+移动端)

    最近在写canvas关于图片的操作,看了网上的代码基本都是不行的,于是就自己写了一个. html代码 <canvas id="myCanvas" width="37 ...

  8. Android 开发学习进程0.11 pageview relativelayout 沉浸式标题栏

    fragment与pageView fragment fragment不可以侧滑切换相关界面,但多数代码位于fragment中,易于维护,同时不会受到多个手势滑动的影响 pageView pageVi ...

  9. JS实例-DOM查询

    <!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...

  10. Express Response 之 end /send 傻傻分不清楚

    Express是一个轻量的经典的Node.js开启服务和快速路由管理的库.开启服务的方式也是非常的简单 只需要简单的,安装 $ npm install express   -------> 引入 ...