android – 为什么ImageView中drawable的宽度/高度错误?

前端之家收集整理的这篇文章主要介绍了android – 为什么ImageView中drawable的宽度/高度错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
应该是一个简单的.

当我拉image.getDrawable().getIntrinsicWidth()时,我得到一个大于源图像宽度的值.它的X坐标是返回2880而不是1920,这是1.5倍太大了?

我想知道具有scaleType“center”的ImageView是否影响了它,但根据documentation

“Center the image in the view,but perform no scaling.

这是来源:

<ImageView  
    android:id="@+id/backgroundImage"   
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="@drawable/background"
    android:scaleType="center"/>@H_404_15@

解决方法

你说drawable来自你的/ res文件夹.它在哪个文件夹中?

> / res / drawable
> / res / drawable-mdpi
> / res / drawable-hdpi

等等..

您正在测试的设备的密度是多少?它是一般密度为240dpi的Nexus S吗?因为如果您的源可绘制文件位于drawable-mdpi文件夹中并且您正在240dpi设备上进行测试,那么Android系统将自动将可绘制对象缩放1.5倍,以便物理大小与基线设备密度一致在160dpi.

当你调用getIntrinsicWidth()时,返回的是在Android缩放drawable之后drawable想要的大小.你会注意到2880 = 1920 * 1.5

如果您将drawable放在/ res / drawable中,Android系统会将这些drawable视为mdpi设备,因此Nexus S中的升级版本如果这是针对hdpi屏幕的,并且您不希望它升级,那么请尝试将其放入绘制,华电国际

猜你在找的Android相关文章