Android梳理 屏幕适配

原创 2016年06月01日 18:12:37

Android的机型太多了,这也是比较麻烦的事情,一般要处理3个方面的:

1.适配不同的语言

2.适配不同屏幕

3.适配不同的版本

1.适配不同的语言

在res下有个value是,默认的是英语,当资源文件没有其他资源,那就都用这个了。要适配其他语言需要创建额外的values,列如 values-zh(中国), values-fr(法语)等,Android系统会根据当前手机设置的区域适配相应的语言。

2、适配屏幕

一个是layout,一个是drawable

  现在Androidstudio基本都帮我们建好了,我们之间在里面写不同屏幕的布局文件就行。这里要说一下,屏幕是分竖屏,横屏的,默认加载的是竖屏,所以要想适配横屏的话还需要自己建。如:layout-land,layout-large-land.竖屏的,layout-large

不同的drawable文件夹是以密度来分的,以前自己整理了一下一个大神的,我直接贴到下面了,包括dp,px,sp的一些说明

PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数 (密度)

dp:Density-independent pixels,以160PPI屏幕为标准,则1dp=1px,

        dp和px的换算公式 :

dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。

sp 与 px 的换算公式:sp*ppi/160 = px

px = dp*ppi/160

dp = px / (ppi / 160)

px = sp*ppi/160

sp = px / (ppi / 160)

有了这张图就方便查看了,一般项目如果只采用一套图的话(高密度自动缩小适配低密度),就可以根据上面的规则划算相应的dp.例如UI给你一张图大小48*48,这张图她(一般都是女MM)是按720*1280做的,你放在drawable-hpi里面,那你用xml中写的时候用dp来固定大小,就要除以1.5,设置32dp*32dp,wrap也可。

3、不同系统版本

用Build来判断版本

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
      <span style="white-space:pre">			</span>//TODO 大于当前版本
        } else {
   <span style="white-space:pre">		</span>//TODO 小于当前版本
<span style="white-space:pre">	</span>}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android屏幕适配方案(上)

Android开发中,屏幕适配始终是第一个要解决的问题,这一点在实际写的时候其实我们都会注意,然而现在我觉得整理一下屏幕适配方面的知识以便记录,博客写的太少,始终得多记录一下 首先关于屏幕,主流的...
  • YANGDAHUAN
  • YANGDAHUAN
  • 2017年03月03日 20:20
  • 3852

Android最便捷的屏幕适配,堪称屏幕适配终结者

效果图 最大幅度解决适配问题,并且最大化方便开发者。 so,看下用法: 你没有看错,拿到设计稿,在布局文件里面直接填写对应的px即可,px:这里的px并非是Google不建议使用的px,...
  • qq_23477421
  • qq_23477421
  • 2016年07月04日 10:34
  • 2958

Android 屏幕适配方案(七)

一、 手机适配的应用和使用场景 使android应用程序适用于不同的国家语言、型号、尺寸和SDK版本等手机环境中,其主要功能和界面风格保持不变。 手机适配主要包括三个方面:语言适配、屏幕适配、SD...
  • weixin_37730482
  • weixin_37730482
  • 2017年09月22日 13:57
  • 287

Android 屏幕适配:各种解决方案

Android屏幕适配个种解决方案
  • lhzjllh
  • lhzjllh
  • 2017年12月28日 09:50
  • 384

安卓采用AutoLayout开源框架屏幕适配方案

一、概述 相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的。个人也比较关注适配的问题,之前也发...
  • Me_Dong
  • Me_Dong
  • 2016年12月13日 13:12
  • 1547

Android 屏幕适配解决方案

大家好,简单说说android 屏幕的几个名词 1、dpi : 一英寸的屏幕中有多少点儿 2、密度 Density 一个点儿多少像素 px 3、分辨率 长宽多少像素 px 参考资料: ...
  • JackLittlePig
  • JackLittlePig
  • 2018年01月05日 11:45
  • 162

Android 屏幕适配方案

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45460089; 本文出自:【张鸿洋的博客】 1、概述大家在Andr...
  • lmj623565791
  • lmj623565791
  • 2015年05月04日 13:08
  • 318839

Android开发之--屏幕适配问题

前言 Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzha...
  • Angel_jn
  • Angel_jn
  • 2017年09月29日 22:39
  • 730

android开发之屏幕适配工具类

android开发之屏幕适配工具类 import android.content.Context; import android.util.DisplayMetrics; /** * 屏幕适...
  • kujing823
  • kujing823
  • 2016年11月09日 16:42
  • 234

Android屏幕适配方案(下)

我在上一篇屏幕适配方案中,介绍了一下关于屏幕适配所需要知道的一些基础知识,以及一些网上的屏幕适配方面的解决方案,那么这一片的目的,就是寻找一个适合的屏幕适配方案,来保持在我们的应用再各种机型中都能有良...
  • YANGDAHUAN
  • YANGDAHUAN
  • 2017年03月09日 16:01
  • 1297
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android梳理 屏幕适配
举报原因:
原因补充:

(最多只允许输入30个字)