ImageView, ¿por qué diferentes tamaños?

La primera cosa, sé que mucha gente ha pedido la misma cosa, pero éste es casi igual pero tengo algunas más preguntas.

Tengo una imagen de 48px x 48px, así que si fijo esta imagen en ImageView con

layout_width="wrap_content" layout_height="wrap_content" 

Entonces la imagen parece más grande pero si uso el siguiente tamaño fijo, se vuelve más pequeño

 layout_width="48dp" layout_height="48dp" 

Creo que ahora está mostrando correctamente (no pixelado?) Con 48dp, pero ¿por qué se hizo más grande si uso wrap_content? Y si el tamaño de la imagen a través de wrap_content es correcto, ¿cuál es el punto de usar dp (si hace la imagen más pequeña)?

Prueba esto

 <ImageView android:id="@+id/seprator2" layout_width="48dp" layout_height="48dp" android:scaleType="fitXY" android:src="@drawable/your_image" /> 

Y si todavía se muestra pequeño, entonces su imagen debe contiene alfa alrededor de él.

48dp (o 48dip ) son las siglas de "Density Independent Pixel". Esto significa que el tamaño físico de la imagen tal como se muestra en la pantalla de un Android debe ser el mismo independientemente de la densidad y el tamaño de la pantalla. Para soportar esto, Android ajusta el tamaño de píxel real mostrado en función de la densidad de la pantalla. Sus hallazgos de diferentes tamaños variarán de un dispositivo a otro.

La conversión de unidades dp a píxeles de pantalla es: pixels = dps * (density / 160) . Por ejemplo, en una pantalla de 240 dpi, 1dp equivaldría a 1,5 píxeles físicos. El uso de unidades dp para definir la interfaz de usuario de su aplicación es muy recomendable, como una manera de asegurar la correcta visualización de su interfaz de usuario en diferentes pantallas.

Esto probablemente sucede porque no establece explícitamente el scaleType . Establece tu scaleType en XML como sigue y deberías estar bien:

 android:scaleType="center" 

Si la imagen es más grande que la vista, puede escalarla usando:

 android:scaleType="center" 
  • ProGuard para Android y GSON
  • HttpURLConnection PUT a Google Cloud Storage dando error 403
  • Filtro de intenciones para Media Player (Reproducción de vídeo de Youtube)
  • Cómo crear un nuevo cuadro de diálogo "circle" datepicker android
  • ¿Cómo agregar timePicker usando fragmento?
  • ¿Cómo puedo suprimir nuevo anónimo runnable () se puede sustituir por lambda
  • Escaneo de código QR desde un archivo de imagen
  • No se puede resolver el símbolo KeyEvent
  • Cadena de signos con PEM PrivateKey
  • Desarrollo de Android: Visual Studio + Java. ¿Es posible (vale la pena intentarlo)?
  • Excepción al intentar guardar el estado del fragmento anidado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.