如何制作具有水平滚动周视图的日历视图
How to make a calendar view with horizontal scrolling week view
我正在尝试制作一个与此类似的日历视图。一个具有水平滚动周视图,以及所选日期下方的事件列表。
我试过使用这个库 https://github.com/prolificinteractive/material-calendarview 但外观不一样。日历占用大量屏幕 space,因为日期名称和日期相距甚远。我怎样才能做出类似下面这个的东西?
谢谢
使用这个库,,,
compile 'devs.mulham.horizontalcalendar:horizontalcalendar:1.1.7'
这在 xml
<devs.mulham.horizontalcalendar.HorizontalCalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FAFAFA"
app:selectedDateBackground="#00ffffff"
app:selectorColor="#c62828"
app:textColorNormal="#bababa"
app:textColorSelected="@color/blue_color"
app:textSizeDayName="20sp"
app:textSizeDayNumber="20sp" />
这里 Java
private HorizontalCalendar horizontalCalendar;
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.MONTH, 1);
Calendar startDate = Calendar.getInstance();
startDate.add(Calendar.MONTH, -1);
horizontalCalendar = new HorizontalCalendar.Builder(root, R.id.calendarView)
.startDate(startDate.getTime())
.endDate(endDate.getTime())
.datesNumberOnScreen(5)
.dayNameFormat("EEE")
.dayNumberFormat("dd")
.monthFormat("MMM")
.textSize(14f, 24f, 14f)
.showDayName(true)
.showMonthName(true)
.build();
horizontalCalendar.setCalendarListener(new HorizontalCalendarListener() {
@Override
public void onDateSelected(Date date, int position) {
// Toast.makeText(getContext(), DateFormat.getDateInstance().format(date) + " is selected!", Toast.LENGTH_SHORT).show();
}
});
我正在尝试制作一个与此类似的日历视图。一个具有水平滚动周视图,以及所选日期下方的事件列表。
我试过使用这个库 https://github.com/prolificinteractive/material-calendarview 但外观不一样。日历占用大量屏幕 space,因为日期名称和日期相距甚远。我怎样才能做出类似下面这个的东西?
谢谢
使用这个库,,,
compile 'devs.mulham.horizontalcalendar:horizontalcalendar:1.1.7'
这在 xml
<devs.mulham.horizontalcalendar.HorizontalCalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FAFAFA"
app:selectedDateBackground="#00ffffff"
app:selectorColor="#c62828"
app:textColorNormal="#bababa"
app:textColorSelected="@color/blue_color"
app:textSizeDayName="20sp"
app:textSizeDayNumber="20sp" />
这里 Java
private HorizontalCalendar horizontalCalendar;
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.MONTH, 1);
Calendar startDate = Calendar.getInstance();
startDate.add(Calendar.MONTH, -1);
horizontalCalendar = new HorizontalCalendar.Builder(root, R.id.calendarView)
.startDate(startDate.getTime())
.endDate(endDate.getTime())
.datesNumberOnScreen(5)
.dayNameFormat("EEE")
.dayNumberFormat("dd")
.monthFormat("MMM")
.textSize(14f, 24f, 14f)
.showDayName(true)
.showMonthName(true)
.build();
horizontalCalendar.setCalendarListener(new HorizontalCalendarListener() {
@Override
public void onDateSelected(Date date, int position) {
// Toast.makeText(getContext(), DateFormat.getDateInstance().format(date) + " is selected!", Toast.LENGTH_SHORT).show();
}
});