Android getIntrinsicWidth()获取到的值在不同的项目不同

private ImageView crossImageView;
int crossWidth = crossImageView.getDrawable().getIntrinsicWidth();
Log.i("cp","crossWidth="+crossWidth);


一个Demo和游戏工程。

在Demo中,crossImageView 的大小看起来很正常。

在游戏工程中,crossImageView 的大小却看起来大了很多。


谷歌查找相关资料:

getIntrinsicWidth 函数,返回的大小,是系统根据屏幕大小然后把放到drawable中的图片调整到合适的大小。

经过检查发现,在Demo中,图片是被放在drawable-hdpi中。

而在游戏中,图片被放到drawable中。


把图片剪贴到相同目录后获取到相同的结果!

你可能感兴趣的:(Android)