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

android – 为什么ImageView中drawable的宽度高度错误?,第1张

概述应该是一个简单的. 当我拉image.getDrawable().getIntrinsicWidth()时,我得到一个大于源图像宽度的值.它的X坐标是返回2880而不是1920,这是1.5倍太大了? 我想知道具有scaleType“center”的ImageView是否影响了它,但根据documentation: “Center the image in the view, but perform 应该是一个简单的.

当我拉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"/>
解决方法 你说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 – 为什么ImageView中drawable的宽度/高度错误?全部内容,希望文章能够帮你解决android – 为什么ImageView中drawable的宽度/高度错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1138258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存