public class CalendarDataTextView extends TextView {
boolean isToday = false;
private Paint mPaint = new Paint();
public CalendarDataTextView(Context context) {
super(context);
}
public CalendarDataTextView(Context context, AttributeSet attrs) {
super(context, attrs);
initControl(context);
}
public CalendarDataTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initControl(context);
}
private void initControl(Context context) {
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.parseColor("#ff0000"));
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (isToday){
canvas.translate(getWidth()/2,getHeight()/2);
canvas.drawCircle(0,0,getWidth()/2,mPaint);
}
}
}
本文介绍了一个自定义的日历数据显示视图组件的实现细节,该组件通过使用Paint对象来绘制当前日期是否为今天的标记。文章展示了如何根据不同构造函数初始化组件,并提供了onDraw方法的具体实现,用于在画布上绘制一个圆圈来标识今天。
2636

被折叠的 条评论
为什么被折叠?



