android适配解决方案,Android屏幕适配解决方案(1)

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

首先科普一下涉及到的概念

屏幕尺寸定义:

屏幕对角线的尺寸,单位是英寸(1英寸=2.54cm)。

屏幕尺寸分为物理尺寸和显示分辨率两个部分。物理尺寸是指屏幕的实际大小;屏幕分辨率即把LCD格数(单位是点[dot] )除以屏幕面积得到的就是屏幕分辨率,这个指标是决定画面好坏的最大因素。

屏幕分辨率

屏幕分辨率是指屏幕显示的分辨率。屏幕分辨率确定计算机屏幕上显示多少信息的设置,以水平和垂直像素来衡量。屏幕分辨率低时(例如 640 x 480),在屏幕上显示的像素少,但尺寸比较大。屏幕分辨率高时(例如 1600 x 1200),在屏幕上显示的像素多,但尺寸比较小。

显示分辨率就是屏幕上显示的像素个数,分辨率160×128的意思是水平方向含有像素数为160个,垂直方向像素数128个。屏幕尺寸一样的情况下,分辨率越高,显示效果就越精细和细腻。

单位:px(pixel),1px=1像素点

Android手机常见的分辨率:320x480、480x800、720x1280、1080x1920

像素密度像素密度,即每英寸屏幕所拥有的像素数,像素密度越大,显示画面细节就越丰富。

像素密度=√{(长度像素数^2+宽度像素数^2)}/ 屏幕尺寸

注:屏幕尺寸单位为英寸 例:分辨率为1280*720 屏幕宽度为6英寸 计算所得像素密度约等于245

单位:dpi(dots per ich),假设设备内每英寸有160个像素,那么该设备的屏幕像素密度=160dpi

安卓手机对于每类手机屏幕大小都有一个相应的屏幕像素密度:密度类型代表的分辨率(px)屏幕像素密度(dpi)低密度(ldpi)240x320120

中密度(mdpi)320x480160

高密度(hdpi)480x800240

超高密度(xhdpi)720x1280320

超超高密度(xxhdpi)1080x1920480

密度无关像素

指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。

一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为160DPI的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:pixels = dips * (density / 160)。举个例子,在DPI为240的屏幕上,1个DIP等于1.5个物理像素。我们强烈推荐你用DIP来定义你程序的界面布局,因为这样可以保证你的 UI在各种分辨率的屏幕上都可以正常显示。

dip到pixel转化

Resources r = getResources();

float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 12, r.getDisplayMetrics());

这样再绘图时候在不同分辨率下,pixel的值是不同的。

dp与px的转换密度类型代表的分辨率(px)屏幕密度(dpi)换算(px/dp)比例低密度(ldpi)240x3201201dp=0.75px3

中密度(mdpi)320x4801601dp=1px4

高密度(hdpi)480x8002401dp=1.5px6

超高密度(xhdpi)720x12803201dp=2px8

超超高密度(xxhdpi)1080x19204801dp=3px12

使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果;使得布局、布局组件自适应屏幕尺寸;

根据屏幕的配置来加载相应的UI布局、用户界面流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值