Los colores azules de Holo aparecen en verde en el dispositivo
Estoy enfrentando un extraño problema donde estoy configurando el fondo de un TextView a @android:color/holo_blue_bright
, esperando que sea de color azul brillante, sólo para encontrar que es un tipo de verde brillante en un dispositivo.
XML
- ¿Cómo puedo cambiar el color de efecto táctil de ActionBar en Android 3.0 y versiones superiores
- Conversión de RGB a ARGB en Android
- Android: Uso del selector para establecer el color de fondo para la vista de imagen
- ¿Cuál es el código de color de Android Hint?
- Mediacodec y cámara, espacio de color incorrecto
<TextView android:id="@+id/tv_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="@drawable/chat_bubble" android:maxWidth="300dp" android:padding="5dp" android:singleLine="false" android:textSize="16sp" />
@ Drawable / chat_bubble
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/chat_bubble_background" /> <corners android:radius="5dp" /> </shape>
Colors.xml (sólo la línea correspondiente)
<color name="chat_bubble_background">@android:color/holo_blue_bright</color>
Por encima de los ajustes producen esto. Cada mensaje es un TextView
Pensé que tal vez fue porque mi dispositivo muestra los colores de forma diferente o algo así, así que probé algunos más colores holo, pero todos se ven exactamente como deberían
@android: color / holo_green_light da
@android: color / holo_green_dark da
Incluso @android: color / holo_orange_light y @android: color / holo_purple look OK
Excepto los azules:
@android: color / holo_blue_light da
@android: color / holo_blue_dark da
Todos los azules aparecen como similares, pero no exactamente los mismos matices de verde. Tampoco el mismo tinte de verde que holo_green_light
o holo_green_dark
.
Pensé qué es esto? Todo parece bueno, pero no azul? Y fue a comprobar lo que el HEX de holo_blue_bright
es y lo encontré aquí (es #FF00DDFF
).
Así que traté de usar los valores HEX directamente, en lugar de usar el color holo predefinido.
Android studio (v1.2) me dice que son exactamente del mismo color, como esperaba.
Sin embargo, cuando cambié
<solid android:color="@color/chat_bubble_background" />
a
<solid android:color="@color/chat_bubble_background2" />
Para usar #FF00DDFF
como color, tengo esto
Que es exactamente lo que esperaba ver cuando estaba usando holo_blue_bright
! Que debe tener sentido, teniendo en cuenta que son del mismo color.
Estoy perplejo. ¿Qué está pasando aquí, qué me falta? ¿Por qué dos códigos de color supuestamente iguales producen resultados diferentes, y por qué todos los demás colores holo parecen normales?
Información del dispositivo:
Uno más uno
Modelo A0001
Ejecución de Cyanogen OS v11.0-XNPH05Q / kernel 3.4.0-cyanogenmod-gc73a4ec build 04
Ejecución de Android 4.4.4
- Cambiar el color de fondo de una barra de acción de Android, tutorial básico
- El color de la vista de texto de Android no cambia cuando está inhabilitado
- Invertir colores de Android dibujable
- Vista de texto con textos de colores diferentes en código xml
- Diseño de materiales paleta de colores
- Android, cambia el color subrayado de un EditText dinámicamente
- Color androide entre dos colores, basado en el porcentaje?
- Color del selector en LinearLayout
El código hexadecimal para holo_blue_bright
en el estándar Android 4.4.4 es ff00ddff
( Source ).
El color verde que obtiene es en realidad el valor de user_icon_6
, que se describe como "luz verde 500" ( fuente ).
Parece que el fabricante de su dispositivo personalizó la paleta de colores sustituyendo los valores predeterminados por otros colores (intencionales o no). Esto significa que holo_blue_bright
se define de esta forma en la versión personalizada de Android:
<color name="holo_blue_bright">#ff8bc34a</color>
Ahora que usted proporcionó la información del dispositivo, busqué la fuente de CM11 . El color definido es ff00ddff
, que es correcto . Sin embargo, OnePlus desarrolla su propia versión de Cyanogen OS, por lo que pueden haber cambiado los valores de los colores. Lamentablemente, no pude encontrar el código fuente para CM11-XNPH05Q, así que sólo puedo adivinar.
Le sugiero que pregunte directamente a OnePlus sobre este problema.
De su comentario anterior
@CSmith Me da ff8bc34a, que se ve como el tipo de verde que estoy viendo. ¿Por qué Android Studio me dice que es ff00ddff entonces?
Es bastante claro que el fabricante ha cambiado el color en el dispositivo. Android Studio te ofrece el valor de color de los recursos androides oficiales en el SDK.
Pruebe su aplicación en un emulador con, por ejemplo, Nexus 5. Apuesto a que el color será correcto.
- ¿Es posible enviar una petición síncrona en Firebase?
- Enumeración de carpetas y archivos con Google Drive SDK V2