Android 图片显示及适配的总结(一)

来源:互联网 发布:linux root 密码 编辑:程序博客网 时间:2024/05/11 05:15

Andorid开发中的图片显示问题

1.src属性:在Android中控件ImageView是专门用来显示图片的控件,用于控制图片的显示是Android:src属性,若是通过该属性设置图片,在代码中也要通过特定的方法来修改图片的信息
image.setImageResource(),该属性主要用来设置图片,不能设置xml文件作为背景,并且该属性设置的图片是作为前景色显示的,显示图片的自有尺寸

2.backgroud: 该属性是很多控件都具有的,该属性设置的图片是作为背景的,会填充整个控件的背景

3.图片的路径:以开发工具Android Studio为例,存放图片的文件名称由原来的drawable变成了mipmap,在使用上mipmap和drawable并无区别,只是文件名称变了,不过从运行效率上来讲,mipmap的绘制效率更高,gpu的渲染率更高,在mipmap中有多种存放不同分辨率图片的路径,mdpi,hdpi,xhdpi.xxhdpi,xxxhdpi,五中尺寸,ldpi已经没有了,因为其尺寸太小,现在的大多数手机都没有那么小的分辨率,开发过程中使用的图片本身是根据不同尺寸的分辨率切得,所以要根据对应的分辨率存放到对应的目录下,要不然会出问题
4.遇到的问题

1.主界面底部有四个切换按钮,按钮上的图片显示的大小与切图不一致,显示的比切图中的大很多。
这里写图片描述
原因:我的手机是1080*1920的分辨率,切图时图片显示的尺寸与我手机一致,可是运行时显示的图片比较大,同事跟我说,他也遇到了该问题,说是图片在mipmap下会失真,可是我不这么认为啊,我看代码都没问题,就看了图片路劲,最初放在了hdpi目录,仔细一想,1080的图片应该放在xxhdpi下面才对啊,于是改了图片的的路径,显示就正常了呢

2.我一直知道图片不论放在哪个路径下,Android系统都会找到该图片并显示,可是我以前从来没考虑过如果不做适配的情况下,系统虽然能找着图片,但是显示的尺寸会有问题,这个问题算是给我提个醒。

原理:

Android系统会根据手机的分辨率去对应的目录下查找图片,若是没有找到则去其他目录下找,若是找到了,会按照该文件对应的px与dp的关系将图片进行缩放。所以如果是xxhdpi的图片会缩小三倍,如果是xhdpi的图片会缩放两倍。所以xhdpi下的图片会显得大。

计算公式

1px = 1dp * ppi / 160

mdpi: 1px = 1dp —>ppi = 160

hdpi: ppi = 1.5 *160

xhdpi:ppi = 2*160

xxhdpi: ppi = 3*160

以后在显示图片时要注意手机的分辨率,把图片放在对应的目录下

1 0
原创粉丝点击