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

 <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

Introduzca aquí la descripción de la imagen

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

Introduzca aquí la descripción de la imagen

@android: color / holo_green_dark da

Introduzca aquí la descripción de la imagen

Incluso @android: color / holo_orange_light y @android: color / holo_purple look OK

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Excepto los azules:

@android: color / holo_blue_light da

Introduzca aquí la descripción de la imagen

@android: color / holo_blue_dark da

Introduzca aquí la descripción de la imagen

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.

Introduzca aquí la descripción de la imagen

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

Introduzca aquí la descripción de la imagen

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

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.

  • ¿Cómo cambiar el color de los internos Android drawables?
  • Cómo cambiar dinámicamente el color del fondo de la barra de progreso android
  • ANDROID - detección de color usando openCV - cómo?
  • ¿Cuál es el código de color de Android Hint?
  • Android: java.lang.IllegalArgumentException: color desconocido
  • ¿Cómo puedo cambiar programáticamente el valor de un color en colors.xml?
  • Html.fromHtml no funciona para span
  • ¿Cómo obtener colores del sistema Android?
  • Cómo cambiar el cuadro de diálogo de alerta divider color android
  • Cambiar el color de fondo del primer elemento en ListView
  • El color de la vista de texto de Android no cambia cuando está inhabilitado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.