Android像素密度单位解析
Android应用程序 res/drawable-hdpi drawable-xxhdpi 显示的不同
对比实验:
创建项目后,默认在相关文件目录中生成以下图标:
hdpi --> 72px
mdpi --> 48px
hdpi --> 96px
xxhdpi --> 144px
实验一: 使用ImageView装载上述图片
布局文件如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.spt.MainActivity" >
<ImageView
android:id="@+id/iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light" >
</ImageView>
<ImageView
android:id="@+id/iv_compare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_orange_light" >
</ImageView>
</LinearLayout>
实验系统现状:屏幕dpi为240
项目现状:

默认情况下,会使用下述尺寸显示上述图片:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher,
getTheme());
mIv.setImageDrawable(drawable);
mIvCompared.setImageDrawable(drawable);
Log.d(TAG, "onResume::width=" + drawable.getMinimumWidth());
Log.d(TAG, "onResume::height=" + drawable.getMinimumHeight());
输出结果,如下:
D/MainActivity( 4333): getDisplayDemension::densityDpi=240
D/MainActivity( 4333): onResume::width=72
D/MainActivity( 4333): onResume::height=72
默认会在drawable-hdpi的目录中查找该ic_launcher.png图片

实验二:对比实验,将drawable-hdpi的目录中的ic_launcher.png图片删除,保留drawable-xxhdpi目录中的图片

系统会使用drawable-xxhdpi目录中的ic_launcher.png

上述实验现象基本相同。
Android系统在使用drawable-xxhdpi目录中的ic_launcher.png图片时,会压缩上述图片。
Android像素密度单位解析的更多相关文章
- Android 编程下 DP、SP 以及屏幕像素密度
有时需为视图属性指定大小尺寸值(通常以像素为单位,但有时也用点.毫米或英寸).最常见的属性有: 文字大小(Text Size),指设备上显示的文字像素高度: 边距(Margin),指定视图组件间的距离 ...
- Android屏幕像素密度适配详解
讲到像素密度,我们先要搞明白什么是像素密度,像素密度的字面上的意思为手机屏幕上一定尺寸区域内像素的个数.在Android开发中, 我们一般会使用每英寸像素密度(dpi)这样一个单位来表示手机屏幕的像素 ...
- android - px(像素)、dpi(像素密度)、dip(密度无关像素)之间的关系
使用ImageView会遇到的问题 在Android应用中,都少不了图片的显示,ImageView,轮播图,ViewPager等等,很多都是来显示图片的,很多时候,我们都希望图片能够在宽度上填充父窗体 ...
- Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi
Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...
- 采用CSS3 Media Query技术适应Android平板屏幕分辨率和屏幕像素密度
采用HTML5在开发移动应用程序满足各种需求Android分辨率和屏幕的平板设备密度,这是非常麻烦的过程,最终的解决方案是使用css media query,匹配相同的时间分辨率和屏幕像素密度.上进行 ...
- Android中的单位及测试相关概念
android中的单位: in 英寸 pt 点距 px 像素 dp(dip) 密度无关的像素单位,自适应device屏幕的比例,通常涉及长宽高时采用 sp 与范围无关的像素单位,通常在设置字体大小时 ...
- px,dp,sp以及像素密度
px px(pixel): 像素,是指在由一个数字序列表示的图像中的一个最小单位.在Android中,无论屏幕密度多少,一个像素单位对应一个屏幕像素单位,不会根据屏幕密度自动缩放,因此一般不推荐使用p ...
- 深入理解Android的密度独立性
前言 安卓是一个只对硬件设备限制有很少限制的移动操作系统.生产商们几乎可以创造任何形状的.尺寸的和密度的屏幕的设备.设备可以有物理键盘和按钮或者只有虚 拟键盘和按钮.由于它的设备客制化的自由性给软件开 ...
- Android 图片文字单位 px、dp、sp区别
文章来源:http://www.cnblogs.com/bjzhanghao/archive/2012/11/06/2757300.html px:像素,一个像素点,1px代表屏幕上一个物理的像素点: ...
随机推荐
- centos7.4下的python3.6的安装
1.系统环境 :centos 7.4 最小化安装 2.安装过程 yum install wget 安装下载工具 wget https://www.python.org/ftp/python/ ...
- VMware Workstation 常见问题解决
本文以FAQ的方式进行整理,大家可以根据关键字进行查找即可. 问题一:VMware 安装64位操作系统报错“此主机支持Intel VT-x, 但Intel VT-x处于禁用状态” 问题二:This v ...
- 3、设置jsp上的类容自动更新
1.run->edit configurations进入下面的界面,并修改 On ‘Update’ action 为 Redeploy. On frame deactivation 为 ...
- 1、jQuery的使用入门
一.创建一个WEB项目,在WebRoot下新建一个Jscript文件夹,并将jQuery中的jquery-3.1.1.min.js文件复制过来. 二.用<script>标签引入jQuery ...
- C#使用Selenium+PhantomJS抓取数据
本文主要介绍了C#使用Selenium+PhantomJS抓取数据的方法步骤,具有很好的参考价值,下面跟着小编一起来看下吧 手头项目需要抓取一个用js渲染出来的网站中的数据.使用常用的httpclie ...
- 【3】学习C++之const关键字的使用
在C++中,const关键字是控制变量是否可以变化的,是否能够用好const关键字是区别小白和大佬的重要指标(大雾). 1.const与基本数据类型 ; //a是变量,a的值可以在后续操作中进行更改. ...
- spring依赖注入之构造函数注入,set方法注入
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- tomcat用redis做session共享
在context.xml添加以下配置: <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerVa ...
- 分布式系列十: Redis安装和命令
redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理. Redis的优势 多种数据结构 字符类型String 散列类型Hash 列表类型List 集合类型Set 有序集合类 ...
- Ansible-----include
什么是include 在ansible中,我们可以通过include,在一个playbook中包含另一个文件,以便实现代码的重复利用. include_tasks模块 include_tasks模块用 ...