ForwardWidgets
Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…
JavaScript★ 247
Android 平台上继承 View 实现的自定义日历控件
git clone https://github.com/Airsaid/CalendarView.gitAirsaid/CalendarViewAndroid 平台上继承 View 实现的自定义日历控件.
在你的 build.gradle 文件里添加:
compile 'com.github.airsaid:calendarview:1.0.3'
1、布局中:
<com.github.airsaid.library.widget.WeekView
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginTop="10dp"
android:background="@android:color/white"
app:wv_textColor="#333333"
app:wv_textSize="14sp"/>
<com.github.airsaid.library.widget.CalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@android:color/white"
app:cv_dayBackground="@drawable/bg_day_un_selected"
app:cv_selectDayBackground="@drawable/bg_day_selected"
app:cv_selectTextColor="@android:color/white"
app:cv_textColor="#333333"
app:cv_textSize="14sp"/>
2、设置监听器:
mCalendarView.setOnDataClickListener(new CalendarView.OnDataClickListener() {
@Override
public void onDataClick(@NonNull CalendarView view, int year, int month, int day) {
Log.e("test", "year: " + year);
Log.e("test", "month,: " + (month + 1));
Log.e("test", "day: " + day);
}
});
mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView view, boolean select, int year, int month, int day) {
if(select){
Toast.makeText(getApplicationContext()
, "选中了:" + year + "年" + (month + 1) + "月" + day + "日", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext()
, "取消选中了:" + year + "年" + (month + 1) + "月" + day + "日", Toast.LENGTH_SHORT).show();
}
}
});
除此之外,还有一些其他的额外方法:
List<String> data = new ArrayList();
// 这里的日期格式可以通过 setDateFormatPattern() 方法设置,默认是 yyyyMMdd
data.add("20171229");
data.add("20171230");
mCalendarView.setSelectDate(data);
Calendar calendar = mCalendarView.getCalendar();
calendar.add(Calendar.MONTH, 1);
mCalendarView.setCalendar(calendar);
mCalendarView.setTypeface(typeface);
mCalendarView.setClickable(boolean);
mCalendarView.setChangeDateStatus(boolean);
| 属性名 | 方法 | 作用 |
|---|---|---|
| cv_textColor | setTextColor(@ColorInt int textColor) | 设置默认文字颜色 |
| cv_selectTextColor | setSelectTextColor(@ColorInt int textColor) | 设置选中后文字颜色 |
| cv_textSize | setTextSize(float textSize) | 设置默认文字大小 |
| cv_selectTextSize | setSelectTextSize(float textSize) | 设置选中后文字大小 |
| cv_dayBackground | setDayBackground(Drawable background) | 设置默认天的背景 |
| cv_selectDayBackground | setSelectDayBackground(Drawable background) | 设置选中后天的背景 |
| cv_dateFormatPattern | setDateFormatPattern(String pattern) | 设置日期格式化格式 |
| cv_isChangeDateStatus | setChangeDateStatus(boolean isChanged) | 设置是否能够改变日期状态 (默认或选中状态) |
more like this
Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…
Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback
search projects, people, and tags