Android自定义水平日历控件

ZzHorizontalCalenderView

A horizontal and scrollable CalenderView.

Github地址:https://github.com/zhouzhuo810/ZzHorizontalCalenderView

Gradle:

compile 'me.zhouzhuo.zzhorizontalcalenderview:zz-horizontal-calenderview:1.0.0'

Maven:

<dependency>
  <groupId>me.zhouzhuo.zzhorizontalcalenderview</groupId>
  <artifactId>zz-horizontal-calenderview</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>

功能简介:

1.支持年、月、日、星期的文字颜色配置;
2.支持日的选中颜色配置;
3.支持年月对话框选择;
4.支持年和月点击回调;
5.支持年月日星期点击回调;
6.支持选中自动滑动到中间;
7.支持今天小圆点标注;
8.支持今天小圆点颜色配置;
9.所有配置均支持xml属性配置或java代码动态设置;

效果图如下:

demo

属性

    <declare-styleable name="ZzHorizontalCalenderView">
        <attr name="zhc_show_pick_dialog" format="boolean" />
        <attr name="zhc_unit_color" format="color|reference" />
        <attr name="zhc_selection_color" format="color|reference" />
        <attr name="zhc_press_shape_selector" format="reference" />
        <attr name="zhc_year_text_color" format="color|reference" />
        <attr name="zhc_month_text_color" format="color|reference" />
        <attr name="zhc_week_text_color" format="color|reference" />
        <attr name="zhc_day_selected_text_color" format="color|reference" />
        <attr name="zhc_day_unselected_text_color" format="color|reference" />
        <attr name="zhc_today_point_color" format="color|reference" />
    </declare-styleable>

属性说明:

属性名称属性作用属性类型
zhc_show_pick_dialog点击年或月是否弹出日期选择对话框boolean
zhc_unit_color年月单位的颜色color
zhc_selection_color日的选中颜色color
zhc_press_shape_selector年或月或日点击效果选择器selector
zhc_year_text_color年的颜色color
zhc_month_text_color月的颜色color
zhc_week_text_color星期的颜色color
zhc_day_selected_text_color日选中时文字颜色color
zhc_day_unselected_text_color日未选中时文字颜色color
zhc_today_point_color今天的下表点的颜色color

用法简介:

① xml 代码

    <me.zhouzhuo.zzhorizontalcalenderview.ZzHorizontalCalenderView
        android:id="@+id/zz_horizontal_calender_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:zhc_day_selected_text_color="@android:color/white"/>

②java 代码

 final ZzHorizontalCalenderView view = (ZzHorizontalCalenderView) findViewById(R.id.zz_horizontal_calender_view);
    //日点击监听
    view.setOnDaySelectedListener(new ZzHorizontalCalenderView.OnDaySelectedListener() {
        @Override
        public void onSelected(boolean hasChanged, int year, int month, int day, int week) {
            tvResult.setText("日期是否有变化:" + hasChanged + ",\n\n日期:" + year + "-" + month + "-" + day + ",\n\n星期:" + week);
        }
    });

    //动态设置各种属性值:
    view.setShowPickDialog(true);
    view.setUnitColorResId(android.R.color.holo_green_dark);
    view.setDayTextColorSelectedResId(android.R.color.holo_blue_bright);
    view.setDayTextColorNormalResId(android.R.color.holo_red_dark);
    view.setDaySelectionColorResId(android.R.color.holo_orange_dark);
    view.setTodayPointColor(Color.YELLOW);
    view.setMonthTextColor(Color.RED);
    view.setYearTextColor(Color.BLUE);

    //年月点击监听
    view.setOnYearMonthClickListener(new ZzHorizontalCalenderView.OnYearMonthClickListener() {
        @Override
        public void onYearClick(int selectedYear, int selectedMonth) {
            tvResult.setText("点击了年:("+selectedYear+","+selectedMonth+")");
        }

        @Override
        public void onMonthClick(int selectedYear, int selectedMonth) {
            tvResult.setText("点击了月 :("+selectedYear+","+selectedMonth+")");
        }
    });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值