android drawable文件夹放入图片规则
1、在中Menifest中添加子元素,android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别加载xxhdpi、xhdpi、hdpi、mdpi、ldpi文件夹中的资源。
相反,如果设为false,即使在文件夹下拥有相同资源,应用不会自动地去相应文件夹下寻找资源。(引用)
2、如果有默认文件夹drawable,则系统如果在其他dpi文件夹下找不到图片时会使用drawable下面的图片,但是系统使用默认drawable文件夹和drawable_dpi文件夹下图片的方式不同:
drawable文件夹下图片首先进行的是普通的缩放,再进行.9规则缩放,而drawable_dpi下图片则只会进行.9规则缩放。
【android drawable文件夹放入图片规则】示例:
现在有一部屏幕密度为320的手机,则会使用drawable_xhdpi文件夹下的图片,但是如果在layout中规定使用图片作为某控件背景,控件高度为50dp,而drawable_xhdpi下图片高度为50sp,这个时候则会进行.9规则缩放,高度扩大一倍
但是如果在drawable图片下使用此图片,则会先进行普通缩放,再进行.9缩放
原始图片:
文章图片
大小:343*57
布局代码:
放入drawable后效果
文章图片
分析:明明171dp在xhdpi中是372px,为什么宽度会进行.9规则缩放?因为在drawable中图片会先进行普通缩放,先将373*57转化为373dp*57dp,然后发现view中只有171dp,所以再进行.9规则缩放,将长度缩短两倍。同理,高度为80dp,所以再将高度进行.9规则缩放,拉长1.6倍。
放入drawable-xhdpi后效果
文章图片
分析:可以看出才,长度没有进行.9规则缩放,高度进行了.9规则缩放。原因是系统分析图片长度为373px,view为171dp宽,转化为px为372,基本无需缩放,高度为80dp,转化为px为160,需要拉伸3.2倍,所以才会出现高度拉伸比上一张图片更剧烈的情况。
分析
Ps
这点对于非.9图片没有影响
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- ssh生成公钥秘钥
- 深入理解|深入理解 Android 9.0 Crash 机制(二)