Saltar al contenido

¿Cuándo se debe usar el archivo dimens.xml en Android?

Posterior a de nuestra extensa búsqueda de información dimos con la respuesta esta obstáculo que tienen muchos usuarios. Te brindamos la solución y esperamos que resulte de mucha ayuda.

Solución:

Dejo valores de dimensión en un dimens.xml recurso típicamente por tres razones:

  1. Reutilizar: Necesito varios widgets o diseños para usar el mismo valor y solo quiero cambiarlo una vez al actualizar o modificar la aplicación.

  2. Diferencia de densidad: Si necesito que la dimensión sea un poco más pequeña o más grande de ldpi -> hdpi o small -> large.

  3. Leyendo desde el código: Cuando estoy instanciando una vista en el código y quiero aplicar algunos static dimensiones, colocándolas dimens.xml como dp (o dip) permitiéndome obtener un valor escalado en código Java con Resources.getDimensionPixelSize().

respuesta suplementaria

@Devunwired enumera 3 razones para usar dimens.xml. Aquí están los detalles de cómo hacerlo.

1. Reutilizar

Si establece algunos dp o sp valor en dimens.xml una vez así



    16dp
    30sp

puede reutilizarlo en toda su aplicación en múltiples ubicaciones.




Luego, cuando necesite hacer un cambio, solo necesita hacerlo en un lugar.

notas

  • Este es básicamente el mismo efecto que usar un estilo o tema.
  • Tenga cuidado de no dar lo mismo a dos puntos de vista diferentes. dimen valor si realmente no deberían serlo. Si necesita realizar cambios en un conjunto de vistas pero no en otro, tendrá que volver a cada una individualmente, lo que anula el propósito.

2. Diferencia de tamaño

  • @Devunwired llamó esto diferencia de densidadpero si estás usando dp (píxeles independientes de la densidad), esto ya se ocupa del problema de la diferencia de densidad para todos los casos, excepto los más pequeños. Entonces, en mi opinión, el tamaño de la pantalla es un factor más importante para usar dimens.xml.

Un 8dp el relleno puede verse muy bien en un teléfono, pero cuando la aplicación se ejecuta en una tableta, parece demasiado estrecha. Puede resolver este problema haciendo dos (o más) versiones diferentes de dimens.xml.

Haz clic derecho en tu res carpeta y elige Nuevo > Archivo de recursos de valor. Luego escribe dimens y elige Ancho de pantalla más pequeño. Escribir en 600 para el ancho (tableta de 7”). (Hay otras formas de elegir los tamaños. Consulte la documentación y esta respuesta para obtener más información).

ingrese la descripción de la imagen aquí

Esto hará otro values carpeta que se utilizará para dispositivos cuyo ancho de pantalla más pequeño es 600dp. En la vista de Android los dos dimens.xml los archivos se ven así.

ingrese la descripción de la imagen aquí

Ahora puedes modificarlos de forma independiente.

valores/dimensiones.xml



    16dp

valores-sw600dp/dimens.xml



    64dp

Al usar su dimen solo tienes que configurarlo con el nombre que usaste en ambos dimens.xml archivos




El sistema elegirá automáticamente el valor correcto para usted según el dispositivo que esté utilizando el usuario.

3. Lectura del código

A veces es un dolor escalar programáticamente entre px y dp (ver esta respuesta para saber cómo).

Si tienes fijo dp valor ya definido en dimens.xml Me gusta esto



    16dp

Entonces puedes conseguirlo fácilmente con

int sizeInPixels = getResources().getDimensionPixelSize(R.dimen.my_dp_value);

y ya se convertirá en píxeles para cualquier dispositivo de densidad que tenga el usuario.

Él dimens.xml El archivo se utiliza para mantener todos los valores de píxeles codificados en un solo lugar.

Ahora, aunque es posible que no use estos valores repetidamente en este momento, sigue siendo una buena idea colocarlos en dimens.xml Para futura referencia. Además, siguiendo un estándar Android El paradigma de programación ayuda a otros desarrolladores a comprender su código más rápido. Esto es muy parecido a la strings.xml donde colocamos String¡Algunos de los cuales terminan usándose solo una vez! 🙂

Te mostramos las comentarios y valoraciones de los usuarios

Finalizando este artículo puedes encontrar las explicaciones de otros administradores, tú incluso tienes la habilidad mostrar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *