<!DOCTYPE html>

<header><p>Jan 4, 2015 • CoderSimple <a href="http://codersimple.github.io/android/2015/01/04/android-smart-scale.html">原文传送阵</a></p>
</header><article><p>android 设备的尺寸多种多样,在适配上给开发者带来了不少的麻烦,为了让我们的程序能在不同的屏幕尺寸下优雅的显示,学习一些适配的知识变得尤为重要,这里为了加深印象,在学习中做下总结(写到后面感觉没什么好写的,都是官网的东西,真矛盾,最后还是当练习排版留下来了)。</p>
  1. 属性值

    • 文字大小属性使用 sp,其他图像间距使用 dp,避免使用 px
    • 布局尽量使用 wrap_contentmatch_parent 或者 (fill_parent)
  2. 布局
    • 杜绝使用 AbsoluteLayout 布局(除非特别需要,但是基本不需要)
  3. 布局限定符
    使用方法:layout-尺寸限定符/最小尺寸限定符/main.xml

    • 尺寸限定符(API13 后不推荐使用)
    • 最小尺寸限定符(API13 后推荐使用)
    • 布局别名 由于最小尺寸限定符在 Android 3.2 及之前平台上无法识别,有时候在使用最小尺寸限定符布局时为了兼容,有必要再创建一个尺寸限定符的布局,我们可以在尺寸限定符的布局文件夹下在放置一份最小尺寸限定符的布局,然而这样是我们不愿意做的,这样会造成内存空间的浪费,因此在里只创建一份文件布局,通过布局的引用达到我们想要的效果,以下为官网示例。
      • res/layout/main_twopanes.xml
      • res/values-large/layout.xml:

          <resources><item name="main" type="layout">@layout/main_twopanes</item></resources>
        
      • res/values-sw600dp/layout.xml:

          <resources><item name="main" type="layout">@layout/main_twopanes</item></resources>
        
  4. 方向限定符
    屏幕的方向分为水平方向 (land) 和竖直方向 (port),使用方法同布局限定符
  5. 布局限定符 与 方向限定符 的混合使用
    layout-尺寸限定符/最小尺寸限定符-方向限定符/main.xml
  6. 图片限定符

总而言之,屏幕的适配也就是布局资源的适配,由于涉及基础知识较多,造成难度的提升,这里给出 官网屏幕适配教程,所有涉及的知识基本上都有了,只要耐心的看完,相信你会有所收获。


基础知识

  1. screen size

    • small small screens are at least 426dp x 320dp
    • normal normal screens are at least 470dp x 320dp
    • large large screens are at least 640dp x 480dp
    • xlarge xlarge screens are at least 960dp x 720dp
  2. screen desity(3:4:6:8:12:16)
    • ldpi(low) ~ 120dpi
    • mdpi(medium) ~ 160dpi(base line)
    • hdpi(high) ~ 240dpi
    • xhdpi(extra-high) ~ 320dpi
    • xxhdpi(extra-extra-high) ~ 480dpi
    • xxxhdpi(extra-extra-extra-high) ~ 640dpi

      Note: the drawable-xxxhdpi qualifier is necessary only to provide a launcher icon that can appear larger than usual on an xxhdpi device. You do not need to provide xxxhdpi assets for all your app's images

      Some devices scale-up the launcher icon by as much as 25%. For example, if your highest density launcher icon image is already extra-extra-high-density, the scaling process will make it appear less crisp. So you should provide a higher density launcher icon in the drawable-xxxhdpi directory, which the system uses instead of scaling up a smaller version of the icon.

  3. orientation
    • land(landscape)
    • port(portrait)
  4. Resolution
    • The total number of physical pixels on a screen. When adding support for multiple screens, applications do not work directly with resolution; applications should be concerned only with screen size and density, as specified by the generalized size and density groups.
  5. Density-independent pixel (dp or dip)
    • A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way.
    • The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen
    • px = dp * (dpi / 160)

screens ranges:

</article>

</div>

转载于:https://www.cnblogs.com/codersimple/p/4202398.html

android smart scale相关推荐

  1. Android Canvas.scale缩放

    Android30 Canvas.scale方法 1)方法1 将x轴.y轴进行缩放 public void scale(float sx, float sy) {if (sx == 1.0f & ...

  2. Android Smart Linkify 支持机器学习

    文 / Lukas Zilka,软件工程师,谷歌人工智能,苏黎世 上半周,我们发布了 Android 9 Pie,这是 Android 的最新版本,它的机器学习应用使您的手机更简单易用. Androi ...

  3. 用Android Smart Image View做的一个网络图片浏览的Demo

    还是两种方式都写出来,也看看有多smart 1.传统方式从网络上获取图片并显示 首先新建Android Project顺便也在Manifest把网络权限加了 activity_main.xml布局如下 ...

  4. android smart lock,使用Smart Lock自动解锁您的Chromebook与您的Android手机 | MOS86

    The Android 5.0也有自己的 你什么在Android 5中使用Smart Lock.0并且永远不要在家里解锁你的手机 这个功能需要几件东西: 一个带有运行Chrome OS 40或更高版本 ...

  5. Android Drawable - Scale Drawable使用详解(附图)

    一个可以根据自己的level等级, 将指定的Drawable缩放到一定比例 资源放置位置: Eclipse/AS: res/drawable/filename.xml 引用用法: In Java: R ...

  6. android smart home,Android smart home system based on ATmega16

    摘要: The increasing number of construction of houses in Indonesia would lead to an increase in the nu ...

  7. Android Smart Image View

    SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如: 支持通过URL来加载图片: 支持从电话簿中加载图片: 异步加载图片: 图片 ...

  8. Android动画效果 translate、scale、alpha、rotate 切换Activity动画 控件位置调整

    2011.10.28注:如果需要控件停在动画后的位置,需要设置android:fillAfter属性为true,在set节点中.默认在动画结束后回到动画前位置.设置android:fillAfter后 ...

  9. android scaleanimation 动画方向,Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法...

    一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resources&g ...

最新文章

  1. C++11中std::shared_future的使用
  2. 几行代码实现神奇移动的过渡动画
  3. python 之三级菜单
  4. webclient下载文件 带进度条
  5. abaqus画一个球 python_简单几步,100行代码用Python画一个蝙蝠侠的logo
  6. 0.0 目录-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  7. 广西师范大学计算机调剂难吗,2014年广西师范大学考研调剂过来人给的建议
  8. 【Eclipse】Eclipse常用操作
  9. 批量网站IP地址查询-BlueCatTools 最新版下载地址
  10. html文字阴影兼容ie,IE之css3效果兼容
  11. 无人车研发实力哪家强?Google只能排第十
  12. python中大于0的元素全部转化为1,小于0的元素全部转化为0的代码
  13. 方正电脑如何关闭网络启动计算机,方正电脑怎么进安全模式
  14. 谷歌云盘将共享链接中的文件保存到自己的云盘中
  15. matlab 颜色对照表
  16. Android的增量更新
  17. java基础篇(11) 枚举类型
  18. 高德地图使用(一)---添加自定义标注和标注事件
  19. Mysql数据库视频教程
  20. win10系统更新完不能开机怎么办【系统天地】

热门文章

  1. 洛谷 P1219 ---- 八皇后
  2. linux修改hostname
  3. vue项目调用jssip_JsSIP和FreeSWITCH整合
  4. springboot jwt token前后端分离_基于Spring Boot+Spring Security+JWT+Vue前后端分离的开源项目...
  5. android标题栏的属性,android – 属性“titleTextStyle”已经定义?
  6. 机器学习笔记(十七)——EM算法的推导
  7. 2021方便速食行业洞察报告
  8. 面试题,你如何进行产品改版的?
  9. python中算法定义_python算法
  10. python 序列化压缩成字符串_Python 将json序列化后的字符串转换成字典(推荐)