¿Es posible en android definir constantes en XML que varían con la configuración
Estoy interesado en tener un XML layouts en Android cambiar tamaño dependiendo del paisaje o retrato de visualización (y tal vez otras configuraciones más tarde).
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_alignParentBottom="true" android:background="@drawable/stream_bg_1px_wide" android:layout_height="150dip" >
En este ejemplo sólo quiero variar el tamaño de 150dip dependiendo del paisaje o del retrato, no cambiar nada más.
- Cómo analizar XML utilizando el analizador SAX
- Android: ¿cómo usar los colores del tema actual en un xml extraíble?
- Efectos de transición de la actividad: deslice hacia la actividad superior y la escala para la actividad de la parte inferior
- Doctype Android lint.xml con declaración dtd
- Duplicar valor en el encabezado de NavigationView después de actualizar el texto del encabezado
Estoy usando la disposición y la disposición-tierra, y sé que podría repetir el diseño en cada una de esas carpetas, pero eso hace que mantener cambios en él un pedazo de un dolor. Cuando introdujo más variantes basadas en la densidad de la pantalla y el tamaño que sólo se pone peor.
Por lo tanto, me pregunté si es posible definir un valor (constante) en un archivo XML, y hacer referencia a él desde mi diseño, similar a cómo los colores se pueden definir
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="shopper_background"> #FFFFFF</color> </resources>
en la línea de……
<?xml version="1.0" encoding="utf-8"?> <resources> <value name="footer_size" >150</value> </resources>
Entonces podría apenas replicar ese archivo, con diversos valores, en cada config.
Gracias por cualquier ayuda
- Android: validar el archivo xml en tiempo de compilación?
- Custom Switch - el tamaño de la pista y el selector no funcionan por debajo de 21 API
- ¿Crear un tipo de datos XML personalizado?
- ¿Cómo leer el archivo xml local es la carpeta de recursos como un flujo de entrada en Android?
- Recurso de cadena duplicado en strings.xml android
- Error de xml de Android: "Ningún recurso encontrado que coincida con el nombre dado" con RelativeLayout (@ id / LinearLayout_acc, @ id / ProgressBar_statusScreen)
- Listview no muestra nada y ocultar datos
- Error al analizar xml: prefijo sin consolidar de com.google.android.gms.ads.AdView
Sí. Una dimensión es un elemento aceptado en un archivo de recursos. Por lo tanto, crear por ejemplo res / values / dimension.xml y poner
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="footer_size" >150dp</dimen> </resources>
Sí puedes hacer esto, lo hacemos por todo el lugar en Android mismo 🙂 Sólo tienes que definir tus constantes en res / values /, res / values-land / etc. Para las dimensiones, usa la etiqueta y haz referencia a ellas usando @ dimen / My_value en el diseño.