使用1.6 SDK将设备独立且与屏幕无关的图像加载到布局视图中

Mar*_*rkw 1 android image scale

我在加载资产图片时难以扩大规模.在SDK上没有对BitmapDrawable(Resources,BitmapDrawable)的新调用.是否有一种解决方法以旧方式加载BitmapDrawable然后以某种方式操纵它?我试过调用setTargetDensity()无济于事.我的代码(无法正确扩展)是:

    ImageView iv = (ImageView)view.findViewById(R.id.image);
 iv.setImageDrawable(new BitmapDrawable(view.getContext().getAssets().open(path)));
Run Code Online (Sandbox Code Playgroud)

Mar*_*rkw 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);
Run Code Online (Sandbox Code Playgroud)

有关背景信息,请参阅http://d.android.com/guide/practices/screens_support.html