简介好看的anroid自定义日历控件,源码

来源:互联网 发布:北京数据分析师工资 编辑:程序博客网 时间:2024/05/17 05:58

实现了日期选择,返回选择的日期。 设置粉红重点日期, 设置红色提示日期。
这里写图片描述

demo下载地址[http://download.csdn.net/detail/yujinzhao_/9478468]简约好看private CalendarView cv;    private ArrayList<Dd> err = new ArrayList<Dd>();//红色警告的日期集合    private ArrayList<Dd> pink_background = new ArrayList<Dd>();//粉红色重点日期    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        cv = (CalendarView) findViewById(R.id.cv);        cv.setCalendarClike(new CalendarClike() {            @Override            public void onItemClikLisner(Dd dd) {                // TODO Auto-generated method stub                Toast.makeText(MainActivity.this, "选中的日期"+dd.y+"."+dd.m+"."+dd.d, 0).show();                err.add(dd);                cv.setErroDates(err);                cv.setBackgroundDates(pink_background);            }        });    }

获取指定月份的日期

/**     *      * @param n年     * @param y月     * @return 给出当月的日期     */    public ArrayList<Dd> getlist(int n, int y) {        ArrayList<Dd> list = new ArrayList<Dd>();        calendar.set(n, y, 1, 0, 0, 0);        int da = calendar.get(Calendar.DAY_OF_WEEK);        for (int i = 0; i < 42; i++) {            calendar.set(n, y,1-da+i+1);            Dd dd = new Dd();            if((calendar.get(Calendar.MONTH) -y)%12 == 0){                dd.isukow = false;            }else{                dd.isukow = true;            }            dd.d = calendar.get(calendar.DAY_OF_MONTH);            dd.y = calendar.get(Calendar.YEAR);            dd.m = calendar.get(Calendar.MONTH);            list.add(dd);        }        calendar.set(n, y, 1, 0, 0, 0);        return list;    }

日期对象

class Dd {    /**     * 不在本月的日期     */    boolean isukow = true;    /**     * moth     */    int m;    /**     * year     */    int y;    /**     * day     */    int d;    int index;    /**     * 是否是同意日期     * @param dd     * @return     */    public boolean isseclet(Dd dd) {        if (this.m == dd.m && this.y == dd.y && this.d == dd.d) {            return true;        } else {            return false;        }    }}

最后写个自定义view去显示数据

0 0
原创粉丝点击