Quiero crear un "modo nocturno" rojo para mi aplicación para Android
Estoy creando una aplicación para uso de los pilotos. En su mayoría utiliza TextView
, EditText
, Button
, etc En otras palabras, no muy gráficos pesados.
Cuando se utiliza de noche, me gustaría que el usuario pueda cambiar a un "modo nocturno" donde todo en la pantalla es rojo y negro … como la aplicación Google Sky Map. (Esto es importante para los pilotos porque el color rojo no destruye la adaptación natural de la visión del ojo como lo hacen otros colores).
- Android MediaRecorder stop () no se llama
- Android: Instalación de Wikitude en el emulador de Android
- ¿Cómo puedo obtener los resultados de análisis de Android Wifi en una lista?
- Cliente Socket.io android java que recibe mensajes y envía ejemplo de archivo
- onItemClick, Intent, errores de startActivity
¿Cuál es la mejor manera de hacer esto? He encontrado APIs como ColorFilter
, etc., pero no estoy seguro de cómo aplicar estas aplicaciones en todo.
- Android - Escribir un componente personalizado (compuesto)
- ¿Cómo configurar el formato de 24 horas para la fecha en java?
- Referencia de valores de una matriz en java
- ¿Cuál es la cantidad máxima de elementos que podemos almacenar en la matriz de bytes en Java?
- ¿Cómo utilizar la biblioteca JNI compilada por NDK en una aplicación Java normal no Android?
- Cómo utilizar FirebaseInstanceId.getInstance (). DeleteInstanceId ()?
- Error: la conversión al formato Dalvik falló: No se puede ejecutar dex:
- (A) Smack devuelve el error "service-unavailable (503)" en login ()
Si usted está hablando simplemente de cambiar los colores de las diversas vistas dentro del diseño y no de la estructura del diseño sí mismo, entonces sugeriría que usted lo hace simplemente usando estilos.
Definir dos conjuntos de estilos para las diferentes vistas que componen su diseño – un conjunto para el modo de noche y uno para el modo de día. En su actividad, se convierte en un caso de llamada a setStyle()
en cada una de sus vistas para alternar entre la noche y el día.
Llegar con una convención de nomenclatura sensible y esquema de la paternidad para sus estilos hará su vida mucho más fácil. Por ejemplo MyText.Large
vs MyText.Large.Night
.
El desarrollador de Android doc sobre temas y estilos es un buen punto de partida.
Crear un tema del día y de la noche y fijarlo programáticamente trabajaría. Pero también le exige duplicar sus estilos, apenas para especificar diversos drawables / colors.
En su lugar, puede mantener un estilo y utilizar Android construido en el modo día / noche de apoyo. Así como puede tener múltiples variaciones de un solo diseño (para orientaciones de pantalla horizontal o vertical), dibujable (para diferentes densidades de píxeles) y cadena (para diferentes locales), también puede tener versiones diurnas y nocturnas de sus colores y dibujos. Los especificadores son "-night" y "-notnight", pero es probable que desee usar "-night" o nada, haciendo que su versión de día sea la predeterminada. Por ejemplo:
res/drawable/fancy-button-background.9.png res/drawable-night/fancy-button-background.9.png
Android debe ser capaz de cambiar el modo día / noche de forma automática, pero los detalles sobre cómo y cuando eso sucede son un poco poco claro para mí. Para cambiar el modo usted mismo, puede usar UiModeManager#setNightMode()
. Sólo asegúrese de activar el modo de coche primero, utilizando enableCarMode(0)
.
- Biblioteca vinculada dinámica de Android no puede resolver símbolos del programa principal
- Actualización de la interfaz de usuario de hilo de fondo utilizando código nativo enteramente (sin JNI)?