Cambia dinámicamente los valores de colors.xml para cambiar la apariencia de la aplicación android
Problema: Estoy tratando de cambiar la apariencia de mi aplicación para Android, sobre la marcha. Algo así como, la aplicación se inicia y obtiene un conjunto de valores desde el servidor. Estos valores son los elementos que normalmente van dentro de colors.xml. Lo que estoy buscando, es una forma de cambiar dinámicamente los elementos dentro de los colors.xml y actualizar con estos nuevos valores recibidos desde el servidor. Mi comprensión es que normalmente, esto no se puede hacer directamente. Pero, ¿alguien ha encontrado una solución?
Lo que quiero evitar si es posible: Me gustaría evitar establecer valores de color dentro del método onCreate () de cada actividad para cada elemento de esa vista. Si es posible, me gustaría evitar esto.
- ViewPager setCurrentItem (pageId, true) no suaviza el desplazamiento
- Cómo tener una imagen de fondo de pantalla completa (con centro de cultivo) que no cambia el tamaño
- LinearLayout en el cajón de navegación
- ¿Cómo crear una notificación con una vista personalizada, pero con una apariencia nativa?
- Modificación dinámica de Layouts que de Layouts estáticos
¿Alguna idea?
- Cómo limitar la altura de un ListView dentro de un GridLayout?
- Definir IDs dentro del estilo, ¿es seguro o es un desastre?
- Elemento de Recyclerview efecto de ondulación de clic
- ¿Cómo obtener el contenido de una pestaña dentro de TabHost?
- Superposición u ocultar Barra de herramientas en la selección de copia / corte
- ¿Por qué mi hilandero es tan horrible?
- ¿Por qué mi menú de edición / copia de EditText se encuentra debajo de EditText? ¿Cómo cambiar el orden z de la ventana emergente?
- ¿Cualquier forma más rápida de volcar la jerarquía de la interfaz de usuario?
Usted puede alcanzar este cambio introduciendo recientemente la configuración remota firebase que proporciona la configuración remota para cambiar el color del tema o cualquier otro valor necesario para la aplicación como la promoción, etc actualizaciones
Puedes referir este Ejemplo
Desafortunadamente todos los valores de color (y otros recursos) dentro del directorio de recursos están codificados como static final ints. Esto significa que no hay forma de cambiar los valores en tiempo de ejecución. Sin embargo, puede utilizar una de las soluciones sugeridas anteriormente o echar un vistazo a esta excelente explicación: https://stackoverflow.com/a/33992017/3662251
Para una solución getResources
que reemplaza el método getResources
la actividad e implementa una clase personalizada de Resources
que, en mi opinión, es la solución más transparente: https://stackoverflow.com/a/34178187/3662251
He hecho que en mi aplicación obtener código de color hexadecimal como # 06FF67 de mi servidor y almacenado en sharedferferences – https://stackoverflow.com/a/23024962/4741746
Y cuando es necesario establecer un nuevo valor que viene desde el servidor sólo anular el mismo valor de las preferencias compartidas con los nuevos datos y establecer a la aplicación
O puede utilizar Random Color genrater también – https://stackoverflow.com/a/5280929/4741746
- ¿Qué es mejor utilizar, array de hardcoded o array de cadena de recursos?
- Cómo modificar el valor de un elemento en un SQLite?