考虑到屏幕密度,将使用Android Bitmapfactory decoderesource哪个可绘制

考虑到屏幕密度,将使用Android Bitmapfactory decoderesource哪个可绘制,android,bitmap,screen-size,Android,Bitmap,Screen Size,当你打电话时: Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.disco); 如果每个可绘制hdpi、可绘制mdpi和可绘制ldpi中都有disco.png,那么将使用哪个版本的“disco”?是否取决于使用代码的设备?如果hdpi-设备正在使用代码,它会使用hdpi图像吗?我很难找到好的文档,提前谢谢 是的,如果提供hdpi可绘制并在hdpi设备上运行此代码,您将获得该hdpi可绘制。阅读本文档。

当你打电话时:

    Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.disco);

如果每个可绘制hdpi、可绘制mdpi和可绘制ldpi中都有disco.png,那么将使用哪个版本的“disco”?是否取决于使用代码的设备?如果hdpi-设备正在使用代码,它会使用hdpi图像吗?我很难找到好的文档,提前谢谢

是的,如果提供hdpi可绘制并在hdpi设备上运行此代码,您将获得该hdpi可绘制。阅读本文档。

谢谢,快速跟进,如果使用b.getWidth(),它将返回给定密度(您的案例hdpi)的宽度(以像素为单位)?谢谢。您将获得位图的实际像素(而不是dp)宽度。请注意,如果您没有合适的密度图像可用,Android将尝试从不同的密度缩放一个。可能的重复