如何在 Android CalendarView 上仅显示特定月份?

2023-12-23

我想在 CardView 上显示特定月份without下一个和上一个箭头用于导航日历。如果我想显示 2010 年 2 月,用户必须只能看到 2010 年 2 月。他们无法查看下个月或上个月。

我跟着this https://stackoverflow.com/a/39062935/6200296Stack Overflow 的答案显示了特定的月份,但它对我不起作用。它始终显示我的案例的当前日期和月份。我不确定是否可以禁用下一个上一个导航。

My XML:

<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>

onCreateView我的片段类:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_calendar_view, container, false);

    int year = 2010, month = 2, day = 1;

    CalendarView calendarView = (CalendarView) view.findViewById(R.id.calendarViewT);
    Calendar calendar = Calendar.getInstance();
    calendar.set(year, month, day); //want to show full month of February 2010

    calendarView.setMinDate(calendar.getTimeInMillis());

    return view;
}

如何仅显示二月份而不显示下一个上一个导航?


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());

where calendar is the CalendarView.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android CalendarView 上仅显示特定月份? 的相关文章