我们在开发过程中经常要将sd卡或网络图片加载为Drawable来使用。有很多人为了方便使用Drawable.createFromStream(stream, "src")。
但是使用这个方法有一个问题:相同的图片,一个使用drawable id来配置的,另一个通过createFromStream(stream, "src")来加载显示的图片变小。
这是因为createFromStream(stream, "src")加载图片的drawable,会默认当然mdpi的手机来处理。而drawable id加载图片时,会根据当前手机的dpi来加载图片。
drawable id的图片放在hdpi时,显示的图片大小就不同了。
但是,可以使用另外一个函数。Drawable.createFromResourceStream(context.getResources(), null, stream, "src", null),它可以根据当前手机dpi来加载图处。