package com.fuban.user.views.calendar;
|
|
import android.content.Context;
|
import android.graphics.Canvas;
|
import android.graphics.Paint;
|
|
import com.haibin.calendarview.Calendar;
|
import com.haibin.calendarview.MonthView;
|
|
/**
|
* 高仿魅族日历布局
|
* Created by huanghaibin on 2017/11/15.
|
*/
|
|
public class SimpleMonthView extends MonthView {
|
|
private int mRadius;
|
|
public SimpleMonthView(Context context) {
|
super(context);
|
}
|
|
@Override
|
protected void onPreviewHook() {
|
mRadius = Math.min(mItemWidth, mItemHeight) / 5 * 2;
|
mSchemePaint.setStyle(Paint.Style.STROKE);
|
}
|
|
@Override
|
protected void onLoopStart(int x, int y) {
|
|
}
|
|
@Override
|
protected boolean onDrawSelected(Canvas canvas, Calendar calendar, int x, int y, boolean hasScheme) {
|
int cx = x + mItemWidth / 2;
|
int cy = y + mItemHeight / 2;
|
canvas.drawCircle(cx, cy, mRadius, mSelectedPaint);
|
return false;
|
}
|
|
@Override
|
protected void onDrawScheme(Canvas canvas, Calendar calendar, int x, int y) {
|
int cx = x + mItemWidth / 2;
|
int cy = y + mItemHeight / 2;
|
canvas.drawCircle(cx, cy, mRadius, mSchemePaint);
|
}
|
|
@Override
|
protected void onDrawText(Canvas canvas, Calendar calendar, int x, int y, boolean hasScheme, boolean isSelected) {
|
float baselineY = mTextBaseLine + y;
|
int cx = x + mItemWidth / 2;
|
|
if (isSelected) {
|
canvas.drawText(String.valueOf(calendar.getDay()),
|
cx,
|
baselineY,
|
mSelectTextPaint);
|
} else if (hasScheme) {
|
canvas.drawText(String.valueOf(calendar.getDay()),
|
cx,
|
baselineY,
|
calendar.isCurrentDay() ? mCurDayTextPaint :
|
calendar.isCurrentMonth() ? mSchemeTextPaint : mOtherMonthTextPaint);
|
|
} else if (onCalendarIntercept(calendar)){
|
canvas.drawText(String.valueOf(calendar.getDay()),
|
cx,
|
baselineY,
|
mOtherMonthTextPaint);
|
}else {
|
canvas.drawText(String.valueOf(calendar.getDay()), cx, baselineY,
|
calendar.isCurrentDay() ? mCurDayTextPaint :
|
calendar.isCurrentMonth() ? mCurMonthTextPaint : mOtherMonthTextPaint);
|
}
|
}
|
}
|