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

jhdbpxl9  于 2023-04-28  发布在  Android
关注(0)|答案(2)|浏览(158)

如何从Google event颜色代码中解析颜色?
我得到了谷歌日历这样的事件
我打印我的logcat格式为**event title : calendar color code**

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

ecfsfe2w

ecfsfe2w1#

data.get(position).calendar_color是一个需要转换为整数的字符串。
它不包含alpha,因此您还需要添加0xff000000,有关详细信息,请参阅How to set background color of a View
正确的代码是:

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

b5lpy0ml2#

在表中有一个字段,您可以从中获得日历的颜色。使用日历URI,您可以获得事件的颜色,这里是更多细节的链接
http://developer.android.com/reference/android/provider/CalendarContract.Calendars.html

更新

好吧,我已经尝试了你的颜色使用相同的方式,它解析和显示的颜色。它太轻青色,如果你增加前两位数或删除它,你可以得到它

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

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

相关问题