android getIntrinsicHeight和getIntrinsicWidth是什么意思?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我对Android Drawable类的两个方法感到困惑:

getIntrinsicHeight()
getIntrinsicWidth()

这个词的内在高度/宽度是什么意思?我的意思是它是实际图像的宽度?

提问于
用户回答回答于

如果你想知道内在的含义,那只不过是对象所拥有的实际属性。在我们的例子中,getIntrinsicWidth / Height仅仅意味着为你提供该drawable的默认高度或宽度。

这会返回您在资源文件夹中放置的drawable的确切大小,而不进行任何修改。

假设你已经ImageVIew在xml布局中提供了100 * 100 的宽度和高度,并且你用作背景的可绘制尺寸为200 * 200。

用户回答回答于

如果你的图像是从互联网上下载的,.getIntrinsicWidth()并且.getIntrinsicHeight()实际上分别为你提供图像的“真实”宽度和高度。

它被称为内在的,因为它仅取决于图像和其他任何东西。

这是你得到一个错误结果的地方。假设你正在使用默认的启动器图标:

Log.i("", "ic_launcher intrinsic width " + getResources().getDrawable(R.drawable.ic_launcher).getIntrinsicWidth());

扫码关注云+社区