Diseño responsable para todos los dispositivos Android
Estoy utilizando dos métodos diferentes para lograr un diseño de respuesta en dispositivos Android
Método 1. Utilicé diferentes dimens.xml en diferentes carpetas como
- Grade Error al analizar XML: el prefijo no debe enlazarse a uno de los nombres de espacio de nombres reservados
- Centrar un TextView en un TableRow en un TableLayout
- ¿Cómo agregar una vista de desplazamiento a toda una actividad?
- ¿Qué es Android SyncAdapter contentAuthority y accountType?
- Almacenamiento de archivos de prueba en el proyecto de prueba
values-hdpi values-ldpi values-mdpi values-xhdpi values-xxhdpi
Método 2. Copié todos mis diseños a
layout layout-large layout-small layout-xlarge
Carpetas y con diferentes alturas, anchuras y otros
Cuando utilizo el primer método que no estoy recibiendo el diseño de respuesta correcta y cuando uso el segundo método que estoy recibiendo el diseño correcto, sino que aumenta el tamaño de la aplicación.
Así pues, por favor dígame el mejor proceso para alcanzar el 100% de diseño responsivo aparte de mis dos métodos
- Error android.permission.WRITE_SECURE_SETTINGS
- Parsing XML Android - Análisis de la descripción <description>
- setting screenOrientation en AndroidManifest.xml no funciona
- Incluir etiqueta y dataBinding
- Cómo dibujar el marcador en el centro de la polilínea
- CardCornerRadius muestra error
- Desplazamiento y desaparición de líneas de código; Problemas con el Editor XML de Eclipse
- ¿Cómo puedo reducir el relleno interno alrededor del texto dentro de un objeto de botón de Android?
Normalmente voy por los values
, values-large
, … carpetas y poner los archivos dimens.xml
allí, donde se especifican los tamaños para cada categoría de tamaño de pantalla. Los values
son el "fallback", contiene el valor predeterminado si no especifico alguno para una categoría de tamaño específico. En los diseños lo uso así:
android:width="@dimen/width_for_this_view"
Definido en los values/dimens.xml
:
<dimen name="width_for_this_view">30dp</dimen>
Puede definir diferentes tamaños para diferentes values
(grande, normal, pequeño, ..) carpeta.
Puede utilizar la biblioteca de Google PercentRelativeLayout
con esta biblioteca puede establecer el ancho , la altura y el margen de sus views
por porcentaje que es grande porque en todas las pantallas se ven iguales y por supuesto no es difícil codificarlo. Ejemplo:
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView app:layout_widthPercent="50%" app:layout_heightPercent="50%" app:layout_marginTopPercent="25%" app:layout_marginLeftPercent="25%"/> </android.support.percent.PercentRelativeLayout>
Debe agregar esta línea en su build.gradle
dependencies { compile 'com.android.support:percent:23.2.0' }
Documentación oficial de Google https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html
Esperamos que esta ayuda para su caso!