`
macken
  • 浏览: 347113 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android屏幕适配

 
阅读更多
基本概念
 
像素:一副图片的显示就是由许多显示着不同颜色的小方格组成的,这样的小方格被称为像素,是构成图片的最小单位,但是每个像素的具体大小是多少呢?这需要取决于显示这张图片的具体的物理涉笔显示一个图片像素点的荧光点的大小。图片文件只是记录着它自身有多少个像素点,每个像素点显示什么颜色,至于它自身物理尺寸有多大,它自身无法得知,例如一张480*800像素的图片在电脑显示器上显示明显要比在手机屏幕上大很多,而这张图片本身并没有改变。只是手机的屏蔽电脑显示器的屏要精细许多,也就是没一个物理像素点要小许多,密度也就大许多,也就是说单位面积上显示的像素点越多,屏幕就越清晰。
 
分辨率:分为“图像分辨率”与“物理分辨率”,它们都是水平像素点数与垂直像素点数的乘积,也就是像素总和数。图像分辨率是指图片文件记录着自身所有的像素数。物理分辨率是指显示屏水平与垂直能显示的像素数的乘积。有的人说分辨率越高,图片显示就越清晰,这点是针对物理尺寸相同的情况而言,因为一样的分辨率尺寸可能不一样,光使用分辨率无法比较图片的清晰度。
 
密度:物理设备上单位尺寸里的像素数,密度越大图片显示就越清晰。

长度单位
 
px:像素 px=dp*(dpi/160)
dip(dp):一种基于屏幕密度的抽象单位,成为设备独立像素,会随着屏幕的密度进行自动的大小调整 px/dip=dpi/160 
dpi:每英寸像素数,屏幕密度 desnity,标准密度是160,atrix 4g的像素密度是240,主流desnity有120、160、240、320
sp:比例像素
in:英寸 标准长度单位
mm:毫米 标准长度单位
pt:磅,标准长度单位,1/72英寸
 
通过分辨率、dpi和屏幕尺寸三者中的任意两者可以推算出第三者
 
分辨率分为真实分辨率和相对分辨率,dpi是真实分辨率,长px*宽px为相对分辨率,经常将相对分辨率说成分辨率。
 
android模拟器的默认像素密度是160,所以分辨率越大,屏越大。
 
 
不同密度对应的ui文件夹
drawable-hdpi 240
drawable-ldpi 120
drawable-mdpi 160
 
 
在android上的屏幕适配,android SDK 1.6以上支持一个子元素
<supports-screens android:largeScreens="true' android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"></supports-screens>
分别配置是否支持大屏、中屏、小屏以及多种不同密度
 
android提供3种方式处理屏幕自适应
一、预缩放的资源(基于尺寸和密度去寻找图片)
1.如果找到相应的尺寸和密度,则利用这些图片进行无缩放适应
2.如果没有找到相应的尺寸,而找到密度,则认为该照片尺寸为‘medium’,利用缩放这个图片显示
3.如果都无法匹配,则使用默认图片进行缩放显示,默认图片标配“medium”(160)
 
二、自动缩放的像素尺寸和坐标(密度兼容)
1.如果应用程序不支持不同密度即android:andDensity="false",系统自动缩放图片尺寸和这个图片的坐标。
2.对于预缩放的资源,当android:anyDensity="false",也不生效
3.android:anyDensity="false" 只对密度兼容起作用,尺寸兼容没效果。
 
三、兼容模式显示在大屏幕、尺寸(尺寸兼容)
1.对于在<supports-screens>声明不支持的大屏幕,而这个屏幕尺寸是normal的话,系统使用尺寸为 normal和密度为medium显示
2.对于在<supports-screens>声明不支持的大屏幕,二这个屏幕尺寸是larger的话,系统同样使用尺寸为normal和密度为medium显示,不过会出现一层黑色的背景,不是居中显示。
 
密度独立
系统默认应用支持DIP单位,三个使用DIP的地方:
1.加载资源时,使用DIP实现预缩放的资源
2.在Layout中使用DIP,系统自动完成缩放
3.在应用程序中,自动缩放一些绝对像素
4.像素单位使用DIP,文本单位使用SP
 
 
参考资料:
分享到:
评论

相关推荐

    Android 屏幕适配工具

    "Android屏幕适配"是Android开发中的核心概念,它涉及到尺寸单位、布局权重、资源多版本、比例适配以及使用百分比布局等多种技术。 1. 尺寸单位: - dp (density-independent pixels):与设备像素密度无关的像素...

    Android屏幕适配资源

    本资源包"Android屏幕适配资源"专注于解决这一问题,提供了values资源,能够帮助开发者轻松实现不同屏幕尺寸的适配。接下来,我们将详细讨论Android屏幕适配的核心概念、方法以及如何使用此资源包。 一、屏幕适配的...

    Android屏幕适配:dimens自动生成工具以及使用方法,亲测好用

    现在,针对"Android屏幕适配:dimens自动生成工具",这个工具的主要功能是自动化生成多个`dimens.xml`文件,减少手动创建和维护的工作量。使用该工具,开发者只需输入基本的尺寸数据,工具会根据预设的屏幕密度配置...

    Android-今日头条屏幕适配方案终极版一个极低成本的Android屏幕适配方案

    【Android屏幕适配方案终极版】是Android开发者面临的一个重要课题,尤其是在当今各种设备尺寸繁多的情况下。今日头条作为一款广受欢迎的信息聚合应用,其屏幕适配策略无疑具有很高的参考价值。这个低成本的解决方案...

    android屏幕适配px工具类

    "android屏幕适配px工具类"就是为了解决这一问题而设计的,它可以帮助开发者更方便地处理像素(px)单位转换,确保应用在不同屏幕上的显示效果一致。 在Android系统中,屏幕适配的核心是理解并利用密度独立像素(dp...

    Android屏幕适配主流方案的对比和集成

    本文将详述几种主流的Android屏幕适配方案,并进行对比分析,帮助开发者选择最适合项目需求的方法。 一、密度无关像素(DP/SP) Android系统采用密度无关像素(DP)作为单位来设计界面,以确保在不同密度的屏幕上...

    Android-针对Android屏幕适配所整合的几种常用方案

    本篇文章将详细探讨几种常见的Android屏幕适配方案,帮助开发者解决不同设备间界面显示不一致的问题。 1. **使用比例单位(dp、sp)** Android提供了密度无关像素(dp)和可缩放像素(sp)作为尺寸单位。dp用于长度和...

    Android屏幕适配生成文件

    Android屏幕适配生成文件

    android 屏幕适配方案小工具(可执行jar包)

    android 屏幕适配方案小工具(可执行jar包)

    Android代码-今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案

    A low-cost Android screen adaptation solution (今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案). Overview Pixel 2 XL | 1440 x 2880 | 560dpi: Pixel XL | 1440 x 2560 | 560dpi: ...

    android屏幕适配方案

    以下是一些关键的Android屏幕适配策略和技术: 1. **使用比例和相对布局(Relative Layout)**: - 不直接使用绝对像素值,而是使用比例(dp/dip)来定义控件大小,这样在不同密度的屏幕上会自动调整。 - 相对...

    Android屏幕适配smallestWidth适配尺寸文件

    本篇文章将深入探讨Android屏幕适配中的smallestWidth维度,以及如何使用对应的尺寸文件来优化应用界面。 首先,了解"smallestWidth"的概念。smallestWidth是指设备屏幕在横屏或竖屏状态下可用来显示内容的最小宽度...

    android屏幕适配方法

    android屏幕适配方法

    Android屏幕适配工具类

    标题中的"Android屏幕适配工具类"正是这样一个解决方案,它能自动生成适配不同屏幕尺寸的dimens资源文件,从而简化开发工作。 首先,我们来看看Android屏幕适配的基本概念。Android系统通过dp(density-independent...

    android屏幕适配工具

    本篇将详细讲解"android屏幕适配工具"的相关知识点,以及如何利用提供的"autolayout.jar"和"res"资源进行操作。 首先,我们要理解Android的屏幕适配机制。Android系统通过资源目录(如values、layout等)下的不同...

    android屏幕适配demo

    "android屏幕适配demo"是一个实例,它展示了如何确保应用程序在不同设备上看起来一致并保持良好的用户体验。在这个demo中,主要关注的是视图大小的调整和布局管理,以实现跨设备的兼容性。 首先,Android提供了多种...

    android 屏幕适配(百分比适配)

    总的来说,百分比适配是Android屏幕适配的一种有效策略,它简化了适配过程,使得开发者可以专注于应用的功能而非设备差异。通过正确理解和运用百分比适配技术,可以显著提高应用的用户体验。在实际开发中,结合其他...

    Android 屏幕适配总结

    Android 屏幕适配思维导图,花了两天的时间总结出来的,看思维导图会以一个整体的印象,有利于快速理解Android 屏幕适配的问题。

    Android代码-一种非常好用的Android屏幕适配

    本项目"Android代码-一种非常好用的Android屏幕适配"提供了一种有效的解决方案,帮助开发者解决不同屏幕尺寸和像素密度下的显示问题。项目名称为"ScreenAdaptation",表明它专注于屏幕适应性策略,旨在提升应用在...

Global site tag (gtag.js) - Google Analytics