¿Android ImageView LayoutParams en DIP?
-
01-10-2019 - |
Pregunta
Estoy usando el siguiente código:
ImageView i = new ImageView (Mcontext);
I.SetImageResource (MimageIds [posición]);
i.setscaletype (imageView.scaletype.fit_xy);
//pixels settings !!!
I.SetLayoutParams (New Gallery.LayoutParams (200, 100));
Pero como puede ver, está configurando las dimensiones de diseño en píxeles.
¿Alguien sabe cómo hacer lo mismo pero en "inmersión"?
Solución
Ver http://developer.android.com/guide/practices/screens_support.html#screen-independence
Sobre cómo convertir de DPI a píxeles.
Otros consejos
El siguiente método auxiliar se toma como píxeles independientes del dispositivo de entrada (DIP) y devuelve píxeles reales para el dispositivo actual.
private int getPixels(int dipValue) {
Resources r = getResources();
int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dipValue,
r.getDisplayMetrics());
return px;
}
Si almacena su dimensión como recurso, puede usar
getResources().getDimensionPixelSize(id);
Esto también hará que sea más fácil ajustar sus diseños.