1 votes

Chargement d'une image dans une vue de mise en page, indépendamment du dispositif et de l'écran, à l'aide du SDK 1.6.

J'ai du mal à mettre à l'échelle une image d'actif lorsque je la charge. Le nouvel appel à BitmapDrawable(Resources, BitmapDrawable) n'est pas disponible dans le SDK 1.6. Existe-t-il un moyen de contourner ce problème en chargeant le BitmapDrawable de l'ancienne manière, puis en le manipulant ? J'ai essayé d'appeler setTargetDensity() en vain. Mon code (qui n'est pas mis à l'échelle correctement) est le suivant :

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

5voto

Markw Points 91

J'ai trouvé un moyen qui a fonctionné, après avoir fait un bon vieux RTFM. Le code suivant fonctionne :

  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);

Pour le contexte, voir http://d.Android.com/guide/practices/screens_support.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X