一开始我使用ImageView显示图片,在电脑上显示是正常的,到了手机上图片就会显示失真了。

经过查询,尝试了使用如下方法,不能解决。

android:scaleType="centerInside"

以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。

仍旧在手机上显示失真。

android 图片和文字垂直显示 android studio 图片水平居中_居中显示

于是采取了另一种方法:将图片放在 app\src\main\res\mipmap-hdpi文件夹下,问题解决。

android 图片和文字垂直显示 android studio 图片水平居中_android_02

原来android自己有它的内部选择机制,简单来讲,系统会根据手机密度(分辨率)去到不一样的文件夹选择不一样分辨率的图片,能够看出,这些文件夹分别存放了不一样分辨率的图片,以供咱们手机到最适配本身分辨率的文件夹中挑选图片,这样才不会形成图片的模糊不清。从字面上就能够看出ldpi指低分辨率的图片:通常为120,mdpi为中等分辨率的图片:160,hdpi高分辨率图片:240,xhdpi:320,xxhdpi:480;因此若是你单单将全部图片存放在同一个文件夹中,那么天然不能适配全部的手机,若是屏幕的密度大于你存放图片文件夹的密度,那么手机会先去最适配本身的文件夹中寻找,寻找不到再考虑其余文件夹。因此为了可以适配咱们全部的手机,最好的办法就是在全部的文件夹中都存放不一样分辨率的图片,这样系统就会对应地去寻找最适配本身的图片,固然,这也会形成一个很大的麻烦,就是若是一个应用中的图片不少,而图片原本就很占内存,那么就会大大增大一个应用的大小。那么咱们该怎么办了,咱们一般会根据目前主流屏幕的密度去选择最适合的文件夹存放图片,如今通常都存放到hdpi里面,这样即便与手机分辨率不一致,但因为偏差较小,因此也不会太明显。