Android适配方案小结(一)

相关计量单位介绍:

px:是屏幕的像素点,不同设备显示的效果一样。

in:英寸(1英寸等于2.54cm)

mm:毫米

pt:磅, 1/72英寸

dp:device independent pixels(设备独立像素),不同设备有不同的显示效果,这个和设备

硬件有关。基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px。(160dpi表示1英寸

有160个像素点)

dip:等同于dp,因此我们在xml中使用dp和dip效果一样。

sp:scaled pixels, 同dp相似,但还会根据用户的字体大小偏好缩放。

dpi:dots per inch,每英寸的像素数。

density:通常我们在Android平台提到的这个不是屏幕密度,而是每英寸的像素点与160dpi

(google设置的一个标准)的比值。

densityDpi的值表示每英寸有多少个像素点,单位是dpi。

dip与px的关系:

QVGA densityDpi = 120Density = 0.75
1dp = 0.75pxldpi

HVGA densityDpi = 160Density = 1
1dp = 1pxmdpi

VGA densityDpi = 160Density = 1
1dp = 1pxmdpi

WVGA densityDpi = 240Density = 1.5
1dp = 1.5pxhdpi

WQVGA densityDpi = 320Density = 2
1dp = 2pxxhdpi

资源文件夹匹配:

Android默认是使用density来匹配资源的:

当屏幕 density = 2时,使用drawable-xhdpi文件夹下的资源

当屏幕 density = 1.5时,使用drawble-hdpi文件夹下的资源

当屏幕 density = 1时,使用drawble-mdpi文件夹下的资源

当屏幕 density = 0.75时,使用drawable-ldpi文件夹下的资源。

(虽然Android设备的屏幕像素密度遵循0.75:1.0:1.5:2.0的比例,但市面上有一部分的设备不完全

符合上面的四种情况,有可能介于2者之间:如1.33,这时可以使用drawable-tvdpi文件夹下的资源。)

时间: 2024-12-06 19:04:13

Android适配方案小结(一)的相关文章

Android适配方案小结(三)

在Android适配方案小结(一).(二)中,我们了解了一些基本概念. 那么在具体开发中,我们应该注意什么呢. 首先,我们必须要知道,其实适配的关键在于两点: (1)不同分辨率设备的适配,这点在单位的使用上用dp.sp以及图片资源存放于不同的drawable文件夹就可以解决问题: (2)不同尺寸的适配,这点主要靠将相关值以及布局文件放置于不同的文件夹中来解决. 2.1 values文件夹 可以在工程下创建不同的values文件夹:values-sw480dp, values-sw600dp, v

Android适配方案小结(二)

该节主要记录从代码中获取与屏幕适配相关的各个参数: Java代码如下 public class ScreenUtil { /** * Note: * 只有activity可以使用getWindowManager,否则应该使用 * Context.getResources().getDisplayMetrics()来获取 */ /** * 获取DisplayMetric相关参数 * @param context * @return */ public static String getMetric

Android 目前最稳定和高效的UI适配方案

Android系统发布十多年以来,关于Android的UI的适配一直是开发环节中最重要的问题,但是我看到还是有很多小伙伴对Android适配方案不了解.刚好,近期准备对糗事百科Android客户端设计一套UI尺寸适配方案,可以和小伙伴们详细的聊一聊这个问题.Android适配最核心的问题有两个,其一,就是适配的效率,即把设计图转化为App界面的过程是否高效,其二如何保证实现UI界面在不同尺寸和分辨率的手机中UI的一致性.这两个问题都很重要,一个是保证我们开发的高效,一个是保证我们适配的成效:今天

Android开发屏幕适配方案

Android屏幕适配方案总结 日常开发中,难免遇到屏幕适配的方案,网上也有很多方案,在这里本人只是做一个总结,以免日后使用 单位的概念 pt(point):磅,一个标准的固定长度单位,大小为1/72英寸,主要用于印刷与平面设计.1英寸=2.54厘米=72磅 1pt=0.03527cm px(pixel):像素,组成屏幕图像的最小点,一个相对大小单位.同尺寸屏幕中像素越小越多,代表屏幕分辨率越高,反之越高. 1pt=(ppi/72)*px 屏幕尺寸(screen size):屏幕物理尺寸,指屏幕

android屏幕适配方案

曾经看了android的屏幕适配方案,有非常多种.当中自己用到的一种是:先找一款主流的分辨率的android机,如:1080*1920的分辨率做基准,然后在这个基准上.调整好一切布局.图片.适配其它手机分辨率的手机.用百分比来调节.比如:在480*800的主流手机上,写了一个height=520,那么在480*800的手机上,这个控件的高度则为 480height = 520 * 屏幕高度/1920. 这种方案做屏幕适配. 项目遇到一个问题. 在剩余空间里.在1080*1920的手机上适配非常好

开源,原创,实用Android 屏幕适配方案分享

说来惭愧,这段时间忙项目,有时间也拿来调侃人生,好久没有写过技术文章了) 真正可用,并且简单易行,可以在多个屏幕大小和屏幕密度上有良好表现的Android 屏幕适配方案.   已经用在一款成熟互联网 应用中,效果还不错 http://www.meilijie.com/ask/view/377116/http://www.meilijie.com/ask/view/377668/http://www.meilijie.com/ask/view/377838/http://www.meilijie.

Android最佳实践之SystemBar状态栏全版本适配方案

前言 自从MD设计规范出来后,关于系统状态栏的适配越受到关注,因为MD在5.0以后把系统状态栏的颜色改为可由开发者配置的,而在5.0之前则无法指定状态栏的颜色,所以这篇就说说使用Toolbar对系统状态栏的适配策略 主流App的适配效果 手Q在这方面适配非常好,将标题栏和状态栏合为一起了,和iOS效果一模一样,如下: 4.4.5.0+ 4.4以下版本 4.4以下版本则是系统默认的黑色状态栏,因为4.4以下没办法对状态栏进行改变和配置. 关于手Q的适配,对4.4以上所有版本都保留着一致的UI效果,

android多分辨率多屏幕密度下UI适配方案

相关概念 分辨率:整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如1280x720,反之分辨率为1280x720的屏幕,像素宽度不一定为1280 屏幕密度:表示单位面积内的像素个数,通常用dpi为单位,即每英寸多少个像素点 px:长度单位,以具体像素为单位 dp:长度单位,与具体屏幕密度无关,显示的时候根据具体平台屏幕密度的不同最终转换为相应的像素长度,具体转换规则是: 1dp = (目标屏幕密度/标准密度)*px,标准密度为160dpi,例如,1dp长

原创,实用Android 屏幕适配方案分享

(说来惭愧,这段时间忙项目,有时间也拿来调侃人生,好久没有写过技术文章了) 真正可用,并且简单易行,可以在多个屏幕大小和屏幕密度上有良好表现的Android 屏幕适配方案. 已经用在一款成熟互联网 应用中,效果还不错. 说起android开发,UI界面的多机型适配,一向是个很重要的问题. 网上这方面的文章很多,面试的时候也经常会问到,大部分的内容都很类似,无外乎用dp,sp 不要用px之类老生常谈的问题. 但是会说的居多,实际可以执行的可行方案,很少有人会. 我在面试的时候,很多人连drawab