Загрузка изображения независимо от устройства и экрана не зависит от макета с использованием 1.6 SDK - PullRequest
1 голос
/ 31 марта 2010

У меня проблемы с увеличением масштаба изображения актива при его загрузке. Новый вызов BitmapDrawable (Resources, BitmapDrawable) недоступен в 1.6 SDK. Есть ли обходной путь для загрузки BitmapDrawable по-старому, а затем каким-то образом манипулировать им? Я пытался вызвать setTargetDensity () безрезультатно. Мой код (который не масштабируется должным образом):

    ImageView iv = (ImageView)view.findViewById(R.id.image);
 iv.setImageDrawable(new BitmapDrawable(view.getContext().getAssets().open(path)));

1 Ответ

5 голосов
/ 31 марта 2010

Я нашел способ, который сработал, после того, как сделал какой-то старый добрый 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

...