我在加载资产图片时难以扩大规模。在SDK上没有对BitmapDrawable(Resources,BitmapDrawable)的新调用。 是否有一种解决方法以旧方式加载BitmapDrawable然后以某种方式操纵它?我试过调用setTargetDensity()无济于事。我的代码(无法正确缩放)是:
ImageView iv = (ImageView)view.findViewById(R.id.image); iv.setImageDrawable(new BitmapDrawable(view.getContext().getAssets().open(path)));
答案 0 :(得分:5)
在做了一些好的旧RTFM之后,我找到了一种方法。 以下代码有效:
ImageView iv = (ImageView)view.findViewById(R.id.image); BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inScaled = true; opts.inDensity = DisplayMetrics.DENSITY_MEDIUM; Rect padding = new Rect(); opts.inTargetDensity = view.getResources().getDisplayMetrics().densityDpi; Bitmap bm = BitmapFactory.decodeStream(view.getContext().getAssets().open(path), padding, opts); iv.setImageBitmap(bm);
有关背景信息,请参阅http://d.android.com/guide/practices/screens_support.html