如何在Android日历视图上仅显示特定月份?
我想在CardView上显示一个特定的月份,而不使用下一个和上一个箭头来导航日历。如果我想显示2010年2月,用户只能看到2010年2月。他们下个月或上个月不能去 我按照堆栈溢出的答案显示了一个具体的月份,但它对我不起作用。它始终显示我的案例的当前日期和月份。我不确定是否可以禁用下一个或上一个导航 我的XML:如何在Android日历视图上仅显示特定月份?,android,android-calendar,calendarview,Android,Android Calendar,Calendarview,我想在CardView上显示一个特定的月份,而不使用下一个和上一个箭头来导航日历。如果我想显示2010年2月,用户只能看到2010年2月。他们下个月或上个月不能去 我按照堆栈溢出的答案显示了一个具体的月份,但它对我不起作用。它始终显示我的案例的当前日期和月份。我不确定是否可以禁用下一个或上一个导航 我的XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="ht
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="megaminds.dailyeditorialword.Fragments.CalendarViewFragment">
<CalendarView
android:id="@+id/calendarViewT"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:firstDayOfWeek="7">
</CalendarView>
如果没有下一个导航,如何仅显示2月份
Calendar febFirst=Calendar.getInstance();
febFirst.set(2017, 1, 1, 0, 0, 0);
calendar.setMinDate(febFirst.getTimeInMillis());
Calendar febLast=Calendar.getInstance();
febLast.set(2017, 2, 0, 0, 0, 0);
calendar.setMaxDate(febLast.getTimeInMillis());
calendar.setDate(febFirst.getTimeInMillis());
其中日历
是日历视图
int day = 16;
int month =8;
int year =2017;
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month); calendar.set(Calendar.DAY_OF_MONTH, day);
long milliTime = calendar.getTimeInMillis();
mCalendarView.setDate (milliTime, true, true);
这里的McAllendarView是Android日历视图非常感谢。很好。另一个问题,这里总是标记该月的第一天。我可以禁用它吗?如果我显示当前月份,日期选择器将选择当前日期。如果我显示另一个月(不是当前月),那么选择器默认情况下不应选择第一个日期。可能吗?@HasanAbdullah:“这里总是标记该月的第一个日期”--不,它标记您通过
setDate()
请求的日期。“我可以禁用它吗?”——我不知道,因为CalendarView
的目的是让用户选择一个日期。也许正确的答案是您不要使用日历视图
,而是使用。它通过“下一个”和“上一个”按钮显示特定月份。@HasanAbdullah您可以使用Android自定义日历视图进行更多样式设置,您可以在其上使用“下一个”和“上一个”按钮
int day = 16;
int month =8;
int year =2017;
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month); calendar.set(Calendar.DAY_OF_MONTH, day);
long milliTime = calendar.getTimeInMillis();
mCalendarView.setDate (milliTime, true, true);