Android中的图片(drawable目录;drawable和mipmap的区别)

2023-10-31

不管是在Eclipse还是在Android studio,存放图片的都有drawable目录,当然Android studio还有mipmap目录,首先介绍drawable的区别,然后在介绍drawable和mipmap的区别


drawable文件夹

我们使用Eclipse创建新项目时,它会帮助我们自动生成六个文件夹(密度不同):

  • drawable-ldpi (low:120dip)
  • drawable
  • drawable-mdpi (medium:160dip)
  • drawable-hdpi (high :240dip)
  • drawable-xhdpi (xhigh :320dip)
  • drawable-xxhdpi (xxhigh:480dip)

一般的做法是,将图片等资源放在drawable-hdip中,将一些和XML文件相关的内容(图片选择器、文字颜色选择器、自定义形状等)放在drawable中。

Google推荐:像素使用dip,文字使用sp。

在mdip文件夹,1dip=1px。

关于dp,dip,sp,pt,px的区别,可参考:附录一

关于图片在不同目录下的显示举例,可参考:附录二

drawable和mipmap的区别

在Android studio中,同时存在drawable目录和mipmap目录,二者没有明显区别,但是工作机制还是存在差别。

谷歌官方: 
drawable/ 
For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or Drawable objects that contain multiple states (normal, pressed, or focused). See the Drawable resource type. 
mipmap/ 
For app launcher icons. The Android system retains the resources in this folder (and density-specific folders such as mipmap-xxxhdpi) regardless of the screen resolution of the device where your app is installed. This behavior allows launcher apps to pick the best resolution icon for your app to display on the home screen. For more information about using the mipmap folders, see Managing Launcher Icons as mipmap Resources.

谷歌官方没有推荐图片放在mipmap中!!!

谷歌官方没有推荐图片放在mipmap中!!!

谷歌官方没有推荐图片放在mipmap中!!!

官方解释: 
mipmap——用于存放原生图片(图ic_launcher.png),缩放上有性能优化; 
drawable——存放图片、xml,和Eclipse没有区别;


附录一

dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

dp : 和dip相同。

px : pixels(像素),一个像素通常被视为图像的最小的完整采样,不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

pt : point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用。

sp : scaled pixels(放大像素). 主要用于字体显示best for textsize。

in :(英寸):长度单位。

分辨率 :分为显示分辨率(屏幕分辨率)图像分辨率

显示分辨率:屏幕图像的精密度,是指显示器所能显示的像素有多少。显示器可 显示的像素越多,画面就越精细。显示分辨率一定的情况下,显示屏越小图像越清晰,反之,显示屏大小固定时,显示分辨率越高图像越清晰。

图象分辨率 :单位英寸中所包含的像素点数。

换算公式

public static float applyDimension(int unit, float value,
   DisplayMetrics metrics){
  switch (unit) {
     case COMPLEX_UNIT_PX:
         return value;
     case COMPLEX_UNIT_DIP:
         return value * metrics.density;
     case COMPLEX_UNIT_SP:
         return value * metrics.scaledDensity;
     case COMPLEX_UNIT_PT:
         return value * metrics.xdpi * (1.0f/72);
     case COMPLEX_UNIT_IN:
         return value * metrics.xdpi;
     case COMPLEX_UNIT_MM:
         return value * metrics.xdpi * (1.0f/25.4f);
     }
   return 0;
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

附录二

mdpi与hdpi是2:3的关系 
mdpi与xhdpi是1:2的关系 
ldpi 与mdpi是3:4的关系

dp与px换算公式:

pixs =dips * (densityDpi/160).

dips=(pixs*160)/densityDpi

现在假设,在一个项目中,你将一张60px*60px的图片放到mdpi中,它的大小是60*60;

若把它拿到hdpi中,那么它的大小应该是40*40,图片缩小。

参考博客:http://blog.csdn.net/jiangwei0910410003/article/details/40509571

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中的图片(drawable目录;drawable和mipmap的区别) 的相关文章

  • 数据质量测试:测试数据有效性和准确性的方法

    以下为作者观点 来看看你认同吗 如果西西弗斯 编者注 希腊神话中的人物 是一个数据分析师或数据科学家 他在山上滚动的巨石将是他的数据质量保障 即使所有获取 处理和建模的工程流程都无懈可击 但在数据管道的任何阶段测试数据质量的能力 以及面对
  • java中的集合框架

    一 集合框架 集合框架 java做好的用来管理乱七八糟的一堆数据的java类库 集合 乱七八糟的一堆 框架 做好的java类库 Java中的集合框架总体被分为2个大部分第一个大部分是用来处理单列数据的集合 最大的接口时Collection接
  • 小白开发微信小程序49--本地服务器部署测试小程序

    相信大家对微信小程序的基础和项目应该没有太大问题了 如果还有对微信小程序开发有一些问题 请查看回顾 微信小程序开发者开发好一款微信小程序后 怎么才能发布呢 如何将其提交给微信审核呢 在前面的 领航教育 项目开发中 后台采用的是C 开发语言
  • matlab 计算点云最大距离

    RANSAC 一 算法原理 1 算法概述 2 主要函数 二 代码实现 三 结果展示 四 参考链接 一 算法原理 1 算法概述 计算同一个点云中所有点之间的最大距离 是4PCS配准算法中进行重叠度预估的重要一步 是实现手写4PCS及能够对其改
  • LeetCode刷题-10

    数组 121 买卖股票的最佳时机 题目描述 题目样例 Java方法 暴力法 代码 复杂度 Java方法 一次遍历 算法思路 代码 复杂度 题目描述 给定一个数组 prices 它的第 i 个元素 prices i 表示一支给定股票第 i 天
  • 榜样访谈——董宇航:在俱乐部中收获爱情

    先做一个简单的自我介绍吧 董宇航 大家好 我是来自辽宁工程技术大学的董宇航 我是网络工程专业的 今年大三 同时也担任CSDN辽宁工程技术大学高校俱乐部俱乐部的主席 我们在线下也有一个经过学校正规备案的学生社团叫软件学院创客俱乐部 在计算机学
  • $sql=mysql_query(_MySQL mysql_query 函数执行SQL语句

    mysql query 函数 PHP MySQL 函数库中 mysql query 函数用于向 MySQL 发送并执行 SQL 语句 对于没有数据返回结果集的 SQL 如 UPDATE DELETE 等在执行成功时返回 TRUE 出错时返回

随机推荐