android+高仿+日历,android高仿钉钉和小米的自定义日历控件(支持阴历和阳历,左右无限翻页viewpager)...

收藏 0

简介

这是一个高仿钉钉和小米的日历控件,支持快速滑动,界面缓存。想要定制化UI,使用起来非常简单,就像使用ListView一样

一些特点:

可以自定义日历控件UI

支持快速滑动

支持农历和阳历

界面UI缓存和日历数据缓存

扩展view支持listView的滑动

效果

先上两张demo的效果图,分别是仿小米和钉钉日历效果图

b136538fa85200c13b216bb661470c59.png

209687e7862650755a361c67fe8b7e54.png

再看下交互效果

128c04014771077d96da4bc409ff648f.gif

how to use

Add it in your root build.gradle at the end of repositories:

allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}

Add the dependency

dependencies {

compile 'com.github.codbking:CalendarExaple:v1.0.0'

}

在layout的xml中添加CalendarLayout和CalendarDateView注意:CalendarDateView一定是CalendarLayout第一个view,扩展view必须是CalendarDateView第二个view

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1"

>

android:id="@+id/calendarDateView"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

android:id="@+id/list"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="#ffffff"

/>

在你的java文件中设置CalendarDateView的CaledarAdapter和CalendarView.OnItemClickListener监听注意:想要设置选中效果,只需设置CaledarAdapter中的view的选中背景

mCalendarDateView.setAdapter(new CaledarAdapter() {

@Override

public View getView(View convertView, ViewGroup parentView, CalendarBean bean) {

//判断convertView为null,可以有效利用view的回收重用,左右滑动的效率高

if (convertView == null) {

convertView = LayoutInflater.from(parentView.getContext()).inflate(R.layout.item_xiaomi, null);

}

TextView chinaText = (TextView) convertView.findViewById(R.id.chinaText);

TextView text = (TextView) convertView.findViewById(R.id.text);

text.setText("" + bean.day);

//mothFlag 0是当月,-1是月前,1是月后

if (bean.mothFlag != 0) {

text.setTextColor(0xff9299a1);

} else {

text.setTextColor(0xff444444);

}

chinaText.setText(bean.chinaDay);

return convertView;

}

});

mCalendarDateView.setOnItemClickListener(new CalendarView.OnItemClickListener() {

@Override

public void onItemClick(View view, int postion, CalendarBean bean) {

mTitle.setText(bean.year + "/" + bean.moth + "/" + bean.day);

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值