相关阅读:
吊炸天!74款APP完整源码!
20 多个可以提高你Android开发技能的国外优秀开源 app
【干货】最新阿里Android面试题总结(附答案)
作者:codbking
原文地址:http://www.jianshu.com/p/622fdded4dc9
github地址:https://github.com/codbking/CalendarExaple
简介
这是一个高仿钉钉和小米的日历控件,支持快速滑动,界面缓存。想要定制化UI,使用起来非常简单,就像使用ListView一样
一些特点:
可以自定义日历控件UI
支持快速滑动
支持农历和阳历
界面UI缓存和日历数据缓存
扩展view支持listView的滑动
左右无限滑动
效果
仿小米日历
仿钉钉日历
交互动画
how to use
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
在layout的xml中添加CalendarLayout和CalendarDateView
注意:CalendarDateView一定是CalendarLayout第一个view,扩展view必须是CalendarDateView第二个view
com.codbking.calendar.CalendarLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
com.codbking.calendar.CalendarDateView
android:id="@+id/calendarDateView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
/>
com.codbking.calendar.CalendarLayout>
在你的java文件中设置CalendarDateView的CaledarAdapter和CalendarView.OnItemClickListener监听
注意:想要设置选中效果,只需设置CaledarAdapter中的view的选中背景
mCalendarDateView.setAdapter(new CaledarAdapter() { @Override
public View getView(View convertView, ViewGroup parentView, CalendarBean bean) {
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);
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);
}
});
githup源码 欢迎大家star~哟
apk下载
关于我的其他开源项目
android自定义日期选择控件
Java和Android大牛频道
欢迎关注我们,一起讨论技术,扫描和长按下方的二维码可快速关注我们。或搜索微信公众号:JANiubility。
公众号:JANiubility