Android屏幕像素密度适配详解

讲到像素密度,我们先要搞明白什么是像素密度,像素密度的字面上的意思为手机屏幕上一定尺寸区域内像素的个数。在Android开发中,

我们一般会使用每英寸像素密度(dpi)这样一个单位来表示手机屏幕的像素密度,dpi的换算方法如下:

步骤1:计算得到手机屏幕的斜角像素长度:

步骤2:使用屏幕斜角像素长度去除上手机屏幕尺寸得到dpi

所以,通过这样的一个公式我们就能很方便的了解到dpi,其实就是斜角像素长度与手机屏幕尺寸的一个比值,而我们目前每个Android手机

都是通过这样一个dpi值来区分手机屏幕的像素密度的。

在Android当中一般讲手机屏幕按每英寸像素密度的值分为:0~120dpi~160dpi~240dpi~320dpi~480dpi~640dpi等几个区间,分别以ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi这样几个文字来标示,这些文字相信同学在drawable资源中都有见到过,通过将对应dpi的drawable资源放入对应的drawable目录就可以实现在不同的像素密度屏幕上显示不同像素密度的drawable资源。

而另一方面,在layout布局资源中,dp单位会根据当前的屏幕像素密度为哪个而自动转换成对应的px值,所以,我们一般要求大家在layout中一定要使用dp作为长度单位。

时间: 2024-11-23 09:02:21

Android屏幕像素密度适配详解的相关文章

android屏幕适配详解

android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如果是纯色背景,尽量使用android的shape 自定义. 5.如果需要在特定分辨率下适配,可以在res目录上新建layout

Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题

上一篇文章详细讲解了一下onMeasure/measure方法在Android自定义控件时的原理和作用,参看博文:Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一),今天就来真正实践一下,让这两个方法大显神威来帮我们搞定图片的屏幕适配问题. 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45038329,非允许请勿用于商业或盈利用途,违者必究. 使用ImageView会遇到

采用CSS3 Media Query技术适应Android平板屏幕分辨率和屏幕像素密度

采用HTML5在开发移动应用程序满足各种需求Android分辨率和屏幕的平板设备密度,这是非常麻烦的过程,最终的解决方案是使用css media query,匹配相同的时间分辨率和屏幕像素密度.上进行兼容性測试,终于保证在多数Android平板上都能较好的显示. 一个典型的针对设备的Css Media Query写法例如以下.能够保证页面高度充满屏幕,简单的设置height:100%是不行的. //SAMSUNG N5100, Nexus7 1, @media only screen and (

quick-cocos2d-x 多分辨率适配详解

多种分辨率的适配一直都是一个蛋疼的问题,各家公司可能都有自己的一套方案.今天我为大家介绍的是我们在多款游戏里实践后的解决方案,相对来说成本和实现难度都较低,效果也很不错. 多种分辨率适配的原理 因为横屏和竖屏的原理完全相同,所以本文先以竖屏为例,后文再说明横屏的处理. 制作一张 640×960 像素的图片,并传入设备查看: 查看时将图片缩放到合适大小,确保图片左右两边正好填满整个屏幕. 在不同分辨率的设备上,这张图片的显示效果差异体现在图片上下是否能够填满屏幕. 例如在 480×800 的设备上

Android 创建AVD各参数详解

一.Eclipse中图形创建AVD: Device: 即设备,指具体的手机设备型号,可以在window->Android Virtual Device Manager->Device Definitions中进行定义.开发环境中预设了一些手机型号,很多是google公司的Nexus系列,如下: Nexus 7 (7.0", 800 x 1280: tvdpi): 7寸屏幕平板设备,屏幕分辨率为800x1280,DIP(device independent pixels,设备独立像素)

Android Design Support Library使用详解

Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件.最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2.这不得不说是一个良心之作. 使用S

Android软件开发之TextView详解

Android软件开发之TextView详解<IGNORE_JS_OP> TextView的API 中文文档中 说明它的结构 结构java.lang.Object   android.view.View        android.widget.TextView直接子类:    Button, CheckedTextView, Chronometer, DigitalClock, EditText间接子类:     AutoCompleteTextView, CheckBox, Compou

Android开发之MediaRecorder类详解

MediaRecorder类详解 手机一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来录制音视频了. 为了增加对录制音视频的支持,Android系统提供了一个MediaRecorder的类.该类的使用也非常简单,下面让我们来了解一下这个类: 一.类结构: java.lang.Object    ? android.media.MediaRecorder 二.类概述: 用于录制音频和视频的一个类. 三.状态图: 说明: 与MediaPlayer类非常相似MediaRecorder也

Android触摸屏事件派发机制详解与源码分析三(Activity篇)

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbober] 该篇承接上一篇<Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)>,阅读本篇之前建议先阅读. 1 背景 还记得前面两篇从Android的基础最小元素控件(View)到ViewGroup控件的触摸屏事件分发机制分析吗?你可能看完会有疑惑,View的事件是ViewGro