Android 使用日历合同,如何确定文本颜色?

Android 使用日历合同,如何确定文本颜色?,android,calendarcontract,Android,Calendarcontract,通过CalendarContract查询时,如何查找事件的文本颜色?我看到有一个列显示颜色,它似乎可靠地提供了背景色。在过多的CalendarContract表中,我看不到文本颜色的任何列 根据股票日历中的调色板选择判断,白色文本应该适用于所有人。然而,硬编码“白色”似乎是错误的 有更好的主意吗?理想情况下,压延合同显示的颜色默认为白色。如果要调整列颜色,需要在查询中对其进行硬编码。你可以通过谷歌搜索html/css颜色代码来帮助决定你想要使用什么颜色。我认为没有办法设置和调用文本颜色。我最后做

通过CalendarContract查询时,如何查找事件的文本颜色?我看到有一个列显示颜色,它似乎可靠地提供了背景色。在过多的CalendarContract表中,我看不到文本颜色的任何列

根据股票日历中的调色板选择判断,白色文本应该适用于所有人。然而,硬编码“白色”似乎是错误的


有更好的主意吗?

理想情况下,压延合同显示的颜色默认为白色。如果要调整列颜色,需要在查询中对其进行硬编码。你可以通过谷歌搜索html/css颜色代码来帮助决定你想要使用什么颜色。

我认为没有办法设置和调用文本颜色。我最后做的是使用亮度算法,这似乎很有效。我使用的方法非常简单:

  // from CalendarContract.Instances.CONTENT_URI;
  int backgroundColor = cursor.getInt (getColumnIndexInstances.DISPLAY_COLOR));
  int b = backgroundColor & 0xFF;
  int g = (backgroundColor >> 8) & 0xFF;
  int r = (backgroundColor >> 16) & 0xFF;
  int a = (backgroundColor >> 24) & 0xFF;
  int y = (3*r + 6*g + 2*b) / 11;
  int textColor = (y < 128) ? Color.WHITE : Color.BLACK;
//来自CalendarContract.Instances.CONTENT\u URI;
int backgroundColor=cursor.getInt(getColumnIndexInstances.DISPLAY_COLOR));
int b=背景色&0xFF;
int g=(背景色>>8)&0xFF;
int r=(背景色>>16)&0xFF;
INTA=(背景色>>24)&0xFF;
int y=(3*r+6*g+2*b)/11;
int textColor=(y<128)?Color.WHITE:Color.BLACK;

您如何知道默认文本颜色是白色?你有推荐人吗?你试过CalendarContract.Colors类吗?似乎有一个字段类型_事件:这表示可以用于事件的颜色。