diff --git a/app/src/main/java/cc/niushuai/dididone/ui/calendar/CalendarFragment.java b/app/src/main/java/cc/niushuai/dididone/ui/calendar/CalendarFragment.java index 0785090..6921494 100644 --- a/app/src/main/java/cc/niushuai/dididone/ui/calendar/CalendarFragment.java +++ b/app/src/main/java/cc/niushuai/dididone/ui/calendar/CalendarFragment.java @@ -1,6 +1,7 @@ package cc.niushuai.dididone.ui.calendar; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -10,6 +11,15 @@ import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import com.necer.calendar.BaseCalendar; +import com.necer.entity.CalendarDate; +import com.necer.entity.Lunar; +import com.necer.enumeration.DateChangeBehavior; +import com.necer.listener.OnCalendarChangedListener; +import com.necer.utils.CalendarUtil; + +import org.joda.time.LocalDate; + import cc.niushuai.dididone.databinding.FragmentCalendarBinding; public class CalendarFragment extends Fragment { @@ -24,11 +34,45 @@ public class CalendarFragment extends Fragment { binding = FragmentCalendarBinding.inflate(inflater, container, false); View root = binding.getRoot(); - final TextView textView = binding.textHome; - calendarViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); + + setListeners(); + return root; } + private void setListeners() { + // 日历选择变更事件 + setCalendarChangeListener(); + } + + /** + * 日历选择变更事件 + */ + private void setCalendarChangeListener() { + + binding.miui10Calendar.setOnCalendarChangedListener(new OnCalendarChangedListener() { + @Override + public void onCalendarChange(BaseCalendar baseCalendar, int year, int month, LocalDate localDate, DateChangeBehavior dateChangeBehavior) { + binding.tvResult.setText(year + "年" + month + "月" + " 当前页面选中 " + localDate); + Log.d(getTag(), " 当前页面选中 " + localDate); + Log.d(getTag(), " dateChangeBehavior " + dateChangeBehavior); + + Log.e(getTag(), "baseCalendar::" + baseCalendar); + if (localDate != null) { + CalendarDate calendarDate = CalendarUtil.getCalendarDate(localDate); + Lunar lunar = calendarDate.lunar; + binding.tvData.setText(localDate.toString("yyyy年MM月dd日")); + binding.tvDesc.setText(lunar.chineseEra + lunar.animals + "年" + lunar.lunarMonthStr + lunar.lunarDayStr); + } else { + binding.tvData.setText(""); + binding.tvData.setText(""); + } + } + + }); + + } + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/app/src/main/res/drawable/bg_miui10.xml b/app/src/main/res/drawable/bg_miui10.xml new file mode 100644 index 0000000..a0b10f2 --- /dev/null +++ b/app/src/main/res/drawable/bg_miui10.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_calendar.xml b/app/src/main/res/layout/fragment_calendar.xml index 5256ebb..8efe787 100644 --- a/app/src/main/res/layout/fragment_calendar.xml +++ b/app/src/main/res/layout/fragment_calendar.xml @@ -6,17 +6,76 @@ android:layout_height="match_parent" tools:context=".ui.calendar.CalendarFragment"> - + android:layout_height="match_parent" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file