在日历上以星型标记打卡成功的日期,你可以自定义一个星型的标记图标,并将其设置为日历上选中日期的自定义标记。以下是修改后的代码:

  1. 首先,在res目录下创建一个名为drawable的文件夹,并在该文件夹中添加一个名为ic_star.xml的矢量图标文件。ic_star.xml的内容如下:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
    <path
        android:fillColor="#FFD700"
        android:pathData="M12,17.27L18.18,21l-1.64-7.03L22,9.24l-7.19-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z" />
</vector>
  1. MainActivityonCreate()方法中,添加以下代码来设置自定义标记图标:
// 获取自定义标记图标
Drawable customMarker = getResources().getDrawable(R.drawable.ic_star);

calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
    @Override
    public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
        String selectedDate = formatDate(year, month, dayOfMonth);
        Toast.makeText(MainActivity.this, '选择的日期:' + selectedDate, Toast.LENGTH_SHORT).show();
    }
});

checkInButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String currentDate = getCurrentDate();
        // 在日历上显示标记
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = sdf.parse(currentDate);
            long timeInMillis = date.getTime();
            calendarView.setDate(timeInMillis);
            calendarView.setActivated(true);
            calendarView.setCustomDayView(new CalendarView.DayViewAdapter() {
                @Override
                public void makeCellView(@NonNull CalendarCellView parent) {
                    ImageView marker = new ImageView(MainActivity.this);
                    marker.setImageDrawable(customMarker);
                    parent.addView(marker);
                }
            });
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
});

现在,当你点击打卡按钮后,选中的日期将会在日历上以星型标记显示。请确保将ic_star.xml文件放在正确的位置,并替换代码中的R.drawable.ic_star为你自定义图标的资源ID。

Android 日历打卡标记:使用星型图标标记成功日期

原文地址: http://www.cveoy.top/t/topic/bv2m 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录