美文网首页
Drawable之getIntrinsicWidth()和get

Drawable之getIntrinsicWidth()和get

作者: 梧梓棋 | 来源:发表于2018-12-15 23:47 被阅读0次

            在Android的开发工程中,经常会使用到drawable,它是一种图像的抽象,不能把它看作是一种普通的图片,它可能是一条线,一个图形,或者是一张图片。他本身没有具体的大小,他的大小是由开发者的设置或者是所包含的图像的具体大小而定。drawable的大小在不同机型的大小还可能不同,因为它的大小值同时还受到系统dpi的影响。使用getIntrinsicWidth()和getIntrinsicHeight()可以获得经过系统缩放最后呈现出来的大小。

            那么如何获取drawable图片的具体大小呢?安卓系统为不同密度的屏幕准备了不同的文件夹,他们的对应关系如下图所示:

    通过getIntrinsicWidth(),系统dpi,图片所在文件对应dpi这三个值,就能算出图片的原始大小。

    图片原始宽度 = 图片所在文件夹对应dpi/系统dpi*getIntrinsicWidth()

    图片原始高度 = 图片所在文件夹对应dpi/系统dpi*getIntrinsicHeight()

    其中,系统dpi可以通过getResources().getDisplayMetrics().densityDpi获取

    相关文章

      网友评论

          本文标题:Drawable之getIntrinsicWidth()和get

          本文链接:https://www.haomeiwen.com/subject/tyrzhqtx.html