我遇到了一个奇怪的问题,我将TextView的背景设置为
以上设置将生成此结果。每个消息都是一个TextView。
我想:“这是什么?一切看起来都很好,但不是蓝色?”然后我去查看
我被难住了。这里发生了什么,我错过了什么?为什么两个看起来相等的颜色代码会产生不同的结果,而所有其他的holo颜色看起来都很正常?
@android:color/holo_blue_bright
,期望它是明亮的蓝色,但在设备上却发现它是一种明亮的绿色。
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(仅相关行)
<color name="chat_bubble_background">@android:color/holo_blue_bright</color>
以上设置将生成此结果。每个消息都是一个TextView。
@android:color/holo_green_dark 提供
即使是@android:color/holo_orange_light和@android:color/holo_purple看起来也不错
@android:color/holo_blue_dark 给出
holo_green_light
或holo_green_dark
相同的绿色色调。我想:“这是什么?一切看起来都很好,但不是蓝色?”然后我去查看
holo_blue_bright
的HEX是什么,我在这里找到了它(它是#FF00DDFF
)。所以我尝试直接使用这个HEX值,而不是使用预定义的holo颜色。
<solid android:color="@color/chat_bubble_background" />
到
<solid android:color="@color/chat_bubble_background2" />
要使用#FF00DDFF
作为颜色,我得到了这个
我被难住了。这里发生了什么,我错过了什么?为什么两个看起来相等的颜色代码会产生不同的结果,而所有其他的holo颜色看起来都很正常?
设备信息:
OnePlus One
型号 A0001
运行 Cyanogen OS v11.0-XNPH05Q / 内核版本 3.4.0-cyanogenmod-gc73a4ec build 04
运行 Android 4.4.4
ff8bc34a
,看起来像是我看到的那种绿色。为什么 Android Studio 告诉我它是ff00ddff
呢? - Tim