文章目录

  • 为什么写这个博客
  • 一,熟悉 px dpi dp 等单位的含义
  • 二.android 的drawable 和 mipmap文件夹该怎么用

为什么写这个博客

不知道在哪里瞅了一眼,android官方说res下的mipmap文件夹是用来放图标的,drawbale是用来放项目中资源图片的,我之前好像都放错了,把资源图片都放在mipmap中了,而且我随便找了一个图片(测试,自己随便瞎搞),不知道应该放在那个包下了,所以想总结一下并解决以上问题

一,熟悉 px dpi dp 等单位的含义

px:像素单位,常常说的手机像素1080x1920的单位就是像素,一个像素点就是1px,我们常说的某个手机是1080x1920的像素指的是屏幕的宽排列着1080个像素点,高排列着1920个像素点,那相同长度的手机,排列的像素点越多肯定表现出来的画面越细腻.

dpi:这是一个密度单位,指的是每英寸屏幕内有多少个像素点,这个值也是评判手机展示程度的一个重要单位.例如一个手机的dpi为400,那么就表示这个手机1英寸屏幕内有400个像素点

dp:dp是一个我们android开发中常用的长度单位,dp会根据不同的dpi和px来决定dp真实的长度,有一个公式
px = dp * (dpi / 160)
dp = px/(dpi / 160)
所以当dpi为160的时候,1dp就等于1px,所以dpi越大,dp的真实长度约短,以达到适配的目的,我们根据实际情况思考一下为什么应该是这样.例如下图,一个手机dpi是1,一英寸屏幕里只有一个像素点(px),二手机dpi是2,一英寸屏幕里只有两个像素点(px),那他们要绘制一个2px的图片,一手机需要两英寸,而二手机只需要一英寸,如果两个手机屏幕一样大,那就会出现特别大的差异,

那么使用dp为单位会好些,
px = dp*(dpi / 160) 他会获取当前屏幕的dpi的值,如果一手机的dpi为160 二手机的dpi为320,那么一手机表示一个1dp的需要1个像素点,二手机表示1dp的需要两个像素点,因为一手机一个像素点的大小和二手机两个像素点的大小一样大,所以展示出来的大小也一样大,(自己理解的,也不知道对不对哈哈哈哈哈哈嗝)

二.android 的drawable 和 mipmap文件夹该怎么用

mipmap只用来放图标

不过为了适配各个版本的系统,一般使用Image Asset Studio生成生成.

drawable 文件夹
drawbale里放资源图片,那对于ui给的一倍图,二倍图到底怎么放,ui一般以320x640为标准原型,给出的一倍图,二倍图,三倍图根据dp和px的关系一直存放即可,那有位老哥提问了,我ui以1080x1920切的图,那该怎么放?
这个跟多大的分辨率没关系,那他给你的只要的一倍图,就放在mdpi里就行了,是因为这里1dp=1px ,1dp就可以表示原大小,你的整体效果都是根据1080x1920走的,所以要大都大,要小都小.

android 我来告诉你图片应该放在那个文件夹下相关推荐

  1. android pad上图片放在drawable文件夹下不正确的显示的讨巧的解决方法

    最近接了个外包,是做那种饭店的点菜系统,但是不是在手机上或者pad上,而且运行在他们的点菜设备上,当时为了做适配,周末还过去调界面,它说设备是800*480的,那我就在res/values下建了一个v ...

  2. webpack5打包图片并放到指定文件夹下

    webpack5打包图片并放到指定文件夹下 module: {rules: [{test: /\.(jpg|png|gif)$/,type: 'asset/resource',generator: { ...

  3. Android开发系列(十七):读取assets文件夹下的数据库文件

    在做Android应用的时候,不可避免要用到数据库.可是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客攻克了我前面博客中 ...

  4. 服务器系统c盘在哪个文件夹,windows操作系统放在哪个文件夹下

    2010-05-22 回答 windows文件夹下的文件名解释 一.文件夹篇 all users 这里记录的是window的用户以及这些用户个人设定的开始菜单及桌面等信息. command 在这个目录 ...

  5. python按照图片命名顺序读取文件夹下的图片

    假设我们要读取的文件夹下的图片命名如下: 现在需要按照图片的命名顺序逐个读取图片(即按照frame1.jpg,frame2.jpg,frame3.jpg,frame4.jpg,frame5.jpg顺序 ...

  6. linux web放在哪个文件夹下,Linux中的Web应用程序应该放在哪里?

    以下是Linux发行版的文件结构示例: https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-filesystem-fhs.html ...

  7. VisualStudio代码放在不同文件夹下进行管理,设置包含目录

    使用VisualStudio进行算法仿真时如果将.h和.c或.cpp文件.以及使用的数据文件都放在同一个目录下则会显得非常乱, 下面进行代码的文件管理设置 第一步,创建inc和src文件夹,并将.h文 ...

  8. js将图片上传服务器文件夹下,Egg.js 实现向服务器上传图片

    1.安装时间处理 及 压缩 模块 yarn add silly-datetime pump 2.文件保存路径 config/config.default.js config.uploadDir = ' ...

  9. python将一个文件夹下图片到另外一个文件夹下

    使用的是python的一个模块shutil.开始想用os.system(),但是好像不行 import shutilshutil.move('image/1.jpg','image1') 还有其他关于 ...

最新文章

  1. hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询
  2. iptables小案例,nat表应用
  3. The Elements of Statistical Learning的笔记
  4. 3、使用Oracle Logminer同步Demo
  5. mongodb中批量将时间戳转变通用日期格式
  6. java主类与源代码名称_Java高级编程基础:类文件结构解析,看穿Class代码背后的秘密...
  7. linux之cut命令使用和总结
  8. Deep Learning for Brain MRI Segmentation: State of the Art and Future Directions
  9. 通用计算机和嵌入式专用计算机例子,什么是嵌入式技术?
  10. 关于Java的File.separator
  11. PyTorch中“CUDA out of memory”的调试笔记
  12. JUC 常用 4 大并发工具类:CountDownLatch、CyclicBarrier、Semaphore、Exchanger
  13. Wireshark实战分析之TCP协议(一)
  14. js小游戏---扫雷
  15. 可访问性之于类和对象
  16. 香港 三星 android6.0,【极光ROM】-【三星S20(国行/港版/台版/韩版/美版) G981X-高通865】-【V6.0 Android-Q-TJA】...
  17. 高中开计算机课吗,高中信息技术课的开设意义和课程实施方法
  18. IAR for MSP430 7.12.1下载
  19. 打开Java控制面板
  20. 安卓 获取机身内存,可用内存;运行内存,剩余内

热门文章

  1. 全屏Dialog的几种实现
  2. 2020年柒月份生活随笔
  3. phpyun人才招聘系统接入阿里云短信
  4. “项目经理,程序员的中年危机
  5. 使用httpie快速访问https协议站点
  6. 性能分析系列-小命令保证大性能
  7. [导入]理解C#值类型与引用类型
  8. 三本类计算机行色专业,高考倒计时50天:物理34个易错易忘知识点
  9. 物联网发展面临哪些问题
  10. CnOpenData中国电影票房数据简介