从Android中的Google日历中获取颜色代码

时间:2013-01-12 09:25:07

标签: android colors calendar google-calendar-api

如何从Google event颜色代码中解析颜色?

我得到了Google calendar这样的事件

我以 event title : calendar color code

格式打印了我的logcat
01-12 14:46:40.190: E/(19626): ID : 22 : Happy birthday! : 16437605
01-12 14:46:40.190: E/(19626): ID : 23 : May Day : 13658980
01-12 14:46:40.190: E/(19626): ID : 24 : New Year's Day : 13658980
01-12 14:46:40.190: E/(19626): ID : 25 : Christmas Day : 13658980

我试过这个

holder.eventColor.setBackgroundColor(Color.parseColor("#"
                + data.get(position).calendar_color));

所以13658980是以哪种格式?我认为它不在ARGB

帮助!!感谢。

2 个答案:

答案 0 :(得分:4)

data.get(position).calendar_color是一个需要转换为整数的字符串。

它不包含alpha,因此您还需要添加0xff000000,有关此内容的详细信息,请参阅How to set background color of a View

正确的代码是:

setBackgroundColor(0xff000000 + Integer.parseInt(data.get(position).calendar_color));

答案 1 :(得分:0)

表中有字段,您可以获得日历的颜色。使用日历URI,您可以获得颜色,此处的事件是更多详细信息的链接

http://developer.android.com/reference/android/provider/CalendarContract.Calendars.html

<强>更新

好的我用你解析并显示颜色的方式尝试了你的颜色。如果你增加前两位数字或删除它你可以得到它太浅蓝绿色

setBackgroundColor(Color.parseColor("#658980")); // removed alpha color

setBackgroundColor(Color.parseColor("#13658980"));