首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android日历视图设置的颜色没有被弃用的方法

可以通过使用CalendarContract来实现。下面是一个完整的答案:

在Android中,要设置日历视图的颜色,可以使用CalendarContract.EventsCalendarContract.Colors两个类来实现。这两个类提供了丰富的API来管理日历事件和颜色。

首先,需要确保你的应用声明了READ_CALENDARWRITE_CALENDAR权限。然后,可以使用以下代码来设置日历视图的颜色:

  1. 查询可用的颜色列表
代码语言:txt
复制
Uri colorsUri = CalendarContract.Colors.CONTENT_URI;
String[] projection = new String[]{
    CalendarContract.Colors._ID,
    CalendarContract.Colors.COLOR_KEY,
    CalendarContract.Colors.COLOR_NAME
};

Cursor colorsCursor = getContentResolver().query(
    colorsUri,
    projection,
    CalendarContract.Colors.ACCOUNT_TYPE + " = ? AND " + CalendarContract.Colors.ACCOUNT_NAME + " = ?",
    new String[]{null, null},
    null
);

这个查询会返回一个包含可用颜色的游标colorsCursor。你可以根据需要从游标中提取颜色ID(CalendarContract.Colors._ID)、颜色键(CalendarContract.Colors.COLOR_KEY)和颜色名称(CalendarContract.Colors.COLOR_NAME)。

  1. 设置事件的颜色
代码语言:txt
复制
// 获取日历ID(假设使用默认日历)
long calendarId = 1;

// 获取颜色ID(假设使用第一个颜色)
colorsCursor.moveToFirst();
int colorId = colorsCursor.getInt(colorsCursor.getColumnIndex(CalendarContract.Colors._ID));

// 创建事件
ContentResolver cr = getContentResolver();
ContentValues eventValues = new ContentValues();
eventValues.put(CalendarContract.Events.DTSTART, startTime);
eventValues.put(CalendarContract.Events.DTEND, endTime);
eventValues.put(CalendarContract.Events.TITLE, eventTitle);
eventValues.put(CalendarContract.Events.CALENDAR_ID, calendarId);
eventValues.put(CalendarContract.Events.EVENT_COLOR_KEY, colorId);

Uri eventUri = cr.insert(CalendarContract.Events.CONTENT_URI, eventValues);

以上代码中,colorId代表要使用的颜色ID,可以从颜色列表查询中获得。eventValues.put(CalendarContract.Events.EVENT_COLOR_KEY, colorId)这一行代码设置了事件的颜色。

通过上述方法,你可以在Android日历视图中设置事件的颜色,来标识不同的事件类型或者区分重要程度。

希望以上内容对您有帮助。如需了解更多关于Android日历视图的相关知识,请参考腾讯云官方文档:Android开发-日历视图

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 设置颜色方法总结

Android 设置颜色方法总结 Android中有几种设置界面背景及文字颜色方法,下面由浅入深分别介绍Android设置颜色几种方法: 1.直接在布局文件中设置android:backgound...="#FFFFFFFF", android:textcolor="#00000000" 2.把颜色提取出来形成资源,放在资源文件下面(values/drawable/color.xml): <?...color), setBackgroundResource(int resid), setTextColor(int color) 以上两种方法主要依据布局文件,自由度不大。...(Drawable drawable) (2)直接利用Drawable 获取资源getResources(), 通过2种drawableid获取Drawable:Resources.getDrawable...(int id) 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站支持!

1.1K21
  • Date & Time组件(下)

    firstDayOfWeek:设置日历列表以星期几开头 android:headerBackground:整个头部背景颜色 android:headerDayOfMonthTextAppearance...android:maxDate:最大日期显示在这个日历视图mm / dd / yyyy格式 android:minDate:最小日期显示在这个日历视图mm / dd / yyyy格式... 另外,奇怪是,如果是上面这种mode为calendar设置了事件并没有响应,看来上面这种 只能选择完后获取对应值了,如果你mode未spinner的话,使用下述代码就可以完成事件监听: 实现代码如下...嗯,好像变化不大,接下来我们简单看下文档中给我们提供属性 android:firstDayOfWeek:设置一个星期第一天 android:maxDate :最大日期显示在这个日历视图mm...处理上面的还有其他,但是都是...

    14820

    学习Android时发现别人已写方法已被怎么办

    问题描述 在学习Android时我们肯定要敲别人代码,而过去时间写代码在高API版本中很容易遇到已被启动情况,下面就是这种情况例子: ? 但是我们如何才能找到这个方法更新版本呢?...首先我们打开GoogleAndroid官方网站:Android Developers,如下所示: ? 然后在搜索栏中搜索。...但是注意我们不要直接搜索方法名,就如此例中:getDrawable()方法,因为并不会提供任何结果,而是应当搜索此方法所属类,而类我们通过Android Studio就可以查询到了: ?...我们发现现在方法需要输入Theme,但是可以选择输入nulll,我们就简单一点,修改原来方法,多输入一个参数null,如下: ? 可以看到现在所示方法就不在提示方法用了。...其余方法废弃,完全可以按照这种处理方式来,这里就不多演示了。

    1.9K10

    Android 应用开发】Android - 时间 日期相关组件

    日历视图CalendarView 日历视图 : 日历视图显示了一个7 * N 方格, 即日历, N可以设置, 通过滚动视图, 可以选择其他月份年份日期, 同时也可以设置日期改变监听器, 监听日历选择事件...; 日历视图XML属性 :  -- 设置样式 : android:dateTextAppearance, 设置日期文字显示样式; -- 设置首日 : android:firstDayOfWeek, 设置星期几是每周第一天...android:text="日历视图"/> <!..., 在这个日历中可能同时显示2个月份日历 android:weekSeparatorLineColor 属性, 设置将日期分开线条颜色 android:unfocusedMonthDateColor...属性, 设置没有选中月份日期颜色 --> <CalendarView android:layout_width="match_parent" android:layout_height

    1.2K10

    日历视图CalendarView和定时器Chronometer

    CalendarView时可指定如下表所示常见XML属性及相关方法。...XML属性 相关方法 说明 android:dateTextAppearance setDateTextAppearance(int) 设置日历视图日期文字样式 android:firstDayOfWeek...(int) 设置获取焦点月份日期文字颜色 android:maxDate setMaxDate(long) 设置日历组件支持最大日期,以mm/dd/yyyy格式设置指定最大日期 android...(int) 设置日历组件总共显示几个星期 android:unfocusedMonthDateColor setUnfocusedMonthDateColor(int) 设置没有焦点月份日期文字颜色...(int) 设置显示周编号颜色 android:weekSeparatorLineColor setWeekSeparatorLineColor(int) 设置周分割线颜色 接下来通过一个简单示例程序来学习

    2K60

    Android从零单排系列十一】《Android视图控件——日历、日期、时间选择控件》

    二.几种常见控件类型 1.CalendarView –日历控件 CalendarView是Android上一个优雅、高度自定义、性能高效日历控件,完美支持周视图,支持标记、自定义颜色、农历等,任意控制月视图显示...,那一定支持英语、繁体、简体,任意定制实现 android:firstDayOfWeek:设置一个星期第一天 android:maxDate :最大日期显示在这个日历视图mm / dd / yyyy...DatePicker –日期选择控件 android:calendarTextColor : 日历列表文本颜色 android:calendarViewShown:是否显示日历视图 android:...:dayOfWeekTextAppearance:顶部星期几文字颜色 android:endYear:去年(内容)比如2010 android:firstDayOfWeek:设置日历列表以星期几开头...:头部月份字体颜色 android:headerYearTextAppearance:头部年字体颜色 android:maxDate:最大日期显示在这个日历视图mm / dd / yyyy格式 android

    13.7K30

    AndroidDatePicker颜色处理以及其他属性介绍

    只要在xml文件中设置一下属性就可以了 android:headerBackground 头部背景,设置这个属性为 #808080 就变下图这样了。是不是感觉好多了。...是否显示日历视图 android:firstDayOfWeek="" 设置日历星期第一天是哪一天 android:headerBackground="@color/gray" 头部背景颜色 android...:endYear="2100" 最后一年,例如2100 android:maxDate="12/31/2100" 日历视图最大日期,格式为mm/dd/yyyy android:minDate="01/...01/1900" 日历视图最小日期,格式为mm/dd/yyyy android:spinnersShown="false" 是否显示下拉菜单 android:startYear="1940" 从哪一年开始...例如1940 android:calendarTextColor="@color/white"日历列表文字颜色(Api 21 以上才能用) android:datePickerMode="calendar

    54940

    实现边到边体验 | 让您软键盘动起来 (一)

    实现边到边 (edge-to-edge) 去年我们介绍了一个关于实现 "边到边" 概念,这个方法可以让应用深度利用 Android 10 手势导航: 开启全面屏体验 | 手势导航 (一)。...如果我们回想 去年介绍,实现边到边可以分为三步: 改变系统栏颜色 设置全屏布局 处理视觉冲突 我们会跳过第一步,因为从去年至今这个部分没有改动。...View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 如果您项目设置编译目标 SDK 版本已经升级为 30 并且使用这个 API ,您会发现这些 API 都已经标示为用了...WindowInsetsController 之前我们提到过,有一些 View.SYSTEM_UI_* 标志已经在 Android 11 中被,并且 API 代替。...,这些也都在 API 30 中被,并 WindowInsetsController 中 API 代替。

    32520

    时间选择(DatePicker和TimePicker)使用

    DatePicker具有以下属性值: 属性 含义 android:calendarTextColor 日历列表文本颜色 android:calendarViewShown 是否显示日历视图 android...顶部星期几文字颜色 android:endYear 去年(内容) android:firstDayOfWeek 设置日历列表以星期几开头 android:headerBackground 整个头部背景颜色...android:headerDayOfMonthTextAppearance 头部日期字体颜色 android:headerMonthTextAppearance 头部月份字体颜色 android...:headerYearTextAppearance 头部年字体颜色 android:maxDate 最大日期显示在这个日历视图mm / dd / yyyy格式 android:minDate 最小日期显示在这个日历视图...android:yearListSelectorColor 年列表选择颜色 使用方式: <DatePicker android:id="@+id/datePickerView

    2.5K20

    安卓日历_公认不卡安卓手机

    最近写了一款日历,包含周日历、月日历以及滑动切换视图,先上效果图: 代码已上传到github:https://github.com/yannecer/NCalendar 项目主要用到了自定义View...本篇文章主要说一下月日历数据、月视图绘制以及点击日期实现。 数据 数据部分,网上能找到比较完整工具类,主要是根据本月和上月天数以及本月第一天是周几来计算。...计算上没有区别,但是显示时候会有区别,为了简单,统一成6周,共42个元素,一月多余下月日期补充。...: 1、是不是本月数据(颜色区分本月和其他月数据) 2、是不是今天 3、有没有选中日期 4、显示不显示农历 其中今天和选中日期圆环表示,就需要在当天和选中日期矩形中绘制圆环。...MonthView没有重写onMeasure(int widthMeasureSpec, int heightMeasureSpec)方法,是因为这个MonthView是放在继承自ViewPagerMonthCalendar

    4.9K30

    Android P 行为变更

    若您应用显示此类 Toast,您必须限制接口并改用另一种实现策略。若您认为没有可行替代接口,请在本文下方留言,要求我们重新考虑该限制是否合理。...测试套件构建行为变更 Android P 移除了  TestSuiteBuilder  类中 addRequirements() 方法,并且将 TestSuiteBuilder 类标记为。...*注意:FLAG_ACTIVITY_NEW_TASK 标签要求属为预期行为,并且从 Android N 就对此作了强制要求。但是 Android N 系统中错误暂时导致此要求没有强制执行。...主要颜色组件 (即 Android 称为 alpha 组件元素) 目前忽略。若应用目标平台为 Android P 或更高版本,该色号会被解释为透明度50%浅绿色 (#80ff80)。...文档滚动元素 在 Android P 之前,滚动位置设置在 body 元素上,而根元素滚动值为 0。Android P 支持符合标准行为,即滚动元素为根元素。

    2.6K20

    Android 4.0 平台特性

    然而,一些最引人注目的是同步适配器能够通过CalendarProvider同步其他日历服务用户日历,能够一所有的用户事件提供一个统一存放位置。...例如,GOOGLE日历事件,是同步google日历同步适配器,允许这些事件在android内置日历软件中查看。...还要注意,getBackgroundDataSetting()现在已经用了,它总是返回true,可以getActiveNetWorkInfo()来替换。...以前温度传感器,TYPE_TEMPERATURE,已被。您应该使用TYPE_AMBIENT_TEMPERATURE传感器来代替。...Actionbar styles功能样式 如果你想要申请习惯功能条上造型,你可以风格和性能backgroundStackedbackgroundSplit应用背景或颜色堆叠柱形和Split

    1.2K20

    Flutter 2.5正式版发布,带来重大更新

    对于没有过滤掉任何类别,它们现在已经进行了颜色编码(#3310、#3324),便可以轻松查看 CPU 帧图表来自系统哪些部分。...覆盖信息会在编辑器装订线中使用红色和绿色条进行区分,在示例程序中,第 9-13 行测试,但第 3 和 4 行没有测试。...其他 除此之外,Flutter 2.5重大更改和还有如下一些: 默认拖动滚动设备 在 v2.2 之后删除了 API 引入包:flutter_lints ThemeData accent...属性已被 手势识别器清理 collate 替换 AnimationSheetBuilder.display 使用 HTML 插槽在 Web 中呈现平台视图 将 LogicalKeySet 迁移到...SingleActivator 此外随着 Flutter 2.5 发布,我们将2020 年 9 月宣布对 iOS 8 支持。

    4.3K50

    FullCalendar 日历插件中文说明文档

    FullCalendar提供了丰富属性设置方法调用,开发者可以根据FullCalendar提供API快速完成一个日历日程开发,本文将FullCalendar常用属性和方法、回调函数等整理成中文文档...),如果设置为true,则会在月视图左侧、周视图和日视图左上角显示周数。...事件默认时间执行长度,如果事件对象没有指定执行多长时间,则默认执行两个小时 120 firstHour 当切换到agenda时,初始滚动条滚动到时间位置,默认在6点钟位置 6 minTime 设置显示时间从几点开始...0 maxTime 设置显示时间从几天结束 24 slotEventOverlap 设置视图事件显示是否可以重叠覆盖 true 当前日期设置 属性 描述 默认值 year 设置日历年份,必须为...source 指向次eventeventsource对象。 color 背景和边框颜色。 backgroundColor 背景颜色。 borderColor 边框颜色

    31.6K90

    魔改react-calendar还原UI设计中打卡日历效果

    但是要是自己去写吧,自己不一定能写出来, 而且耗时耗力. 所以也没多想就直接找了一个react较多日历库react-calendar....日历周字去除 formatShortWeekday 是 react-calendar 库中一个方法,用于格式化一周中每一天显示名称。这个方法主要用于显示日历组件中星期几缩写形式。...大概就是做了 格式化日期 比对MocK数据日期状态, 如果是completed, 就设置指示状态背景颜色为 绿色 如果是missed, 就设置指示状态背景颜色为 红色...如果是leave, 就设置指示状态背景颜色为 黄色 比对当天日期, 对当天日期进行一个背景颜色高亮 最后将这些上面格式化之后数据进行一个数据填入, 最后将这个dom结构进行return...返回出去 /** * 根据日期和视图类型为日历每个瓷砖设置内容。

    12310
    领券