Quiero verificar esto para obtener diferentes imágenes por internet. ¿Como hacer eso?
121
density = getResources().getDisplayMetrics().density;
// return 0.75 if it's LDPI
// return 1.0 if it's MDPI
// return 1.5 if it's HDPI
// return 2.0 if it's XHDPI
// return 3.0 if it's XXHDPI
// return 4.0 if it's XXXHDPI
Puede verificar la densidad de la pantalla con:
EDITAR Tenga en cuenta que a medida que Android evoluciona, se deben incluir otros valores en los
switch
casos. A partir de esta edición, esto incluyeDisplayMetrics.DENSITY_TV
yDisplayMetrics.DENSITY_XXHIGH
. Consulte los documentos para obtener la información más reciente; No me voy a molestar en mantener esta respuesta.fuente
density
como lo sugiere SteD.)DENSITY_XXHIGH
. Agregué un descargo de responsabilidad a la respuesta para cubrir todos los casos futuros. :)A partir de 2018, puede usar el siguiente método:
Pero como señaló @Ted, siempre consulte los documentos oficiales antes de usar
fuente
De las respuestas anteriores, las combiné y creé la siguiente función:
Ahora, en qué dispositivo desea obtener la información de densidad y en qué carpeta se utilizará, simplemente agregue el método anterior en esa actividad y agregue la línea siguiente en onCreate
fuente
Para que React Native verifique qué tamaño es actualmente el dispositivo
fuente
PixelRatio.get()
devolverá un rango de valores dependiendo del tamaño de pantalla establecido en la configuración de Android y el dpi. Esos valores no coincidirán con los valores exactos que ha marcado.En algunos dispositivos (el mío es Galaxy Tab3), tanto densidad como densidadDpi devuelven valores extraños como 1.33 (densidad), 213 (densidadDpi). Entonces mi solución es agregar estas banderas:
a 4 archivos values.xml, colóquelos en res / values- [xxx] / carpetas correspondientes.
fuente