Calendar日历控件(;CalendarDateView;StickyCalendar;渐变效果;开始时间和结束时间,如订酒店选时等)

日历一:
这个日历是用ListView写的,是上下滑动,按需求要求还需要有选择开始时间和结束时间,所以在GitHub上找并在此基础上修改,原Github地址:https://github.com/NLMartian/SilkCal。先看看效果:
①含有开始和结束时间 含有开始和结束时间
②渐变效果 这里写图片描述

代码修改:

<com.lf.li.fscalendar.view.lvcalendar.DayPickerView
        android:id="@+id/calendar_view"
        xmlns:calendar="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white"
        calendar:drawRoundRect="true"   //选中显示圆角还是方角
        calendar:isFold="true"  //ListView是否展开(如展开,高度为match_parent;如不展开,在使用时给其控件设置高度,标准:250dp,其他也行,适配即可)
        calendar:isStartEnd="true"/> //是否为选择开始时间和结束时间

这里附上使用方式

public class LvActivity extends AppCompatActivity implements DatePickerController {
    private DayPickerView calendarView;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lv);

        calendarView = (DayPickerView) findViewById(R.id.calendar_view);
        calendarView.setController(this);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.main_today:
                calendarView.scrollToToday();
                break;
        }
        return true;
    }

    @Override
    public int getMaxYear() {
        return 0;
    }

    @Override
    public void onDayOfMonthSelected(int year, int month, int day) {
        Log.e("data", year + "--" + month + "--" + day);
    }

    @Override
    public void onDateRangeSelected(SimpleMonthAdapter.SelectedDays<SimpleMonthAdapter.CalendarDay> selectedDays) {
        Log.e("data__", selectedDays.getFirst() + "@@@" + selectedDays.getLast());  //月份记得+1
    }
}

日历二:
关于日历控件,在网上找了许多,但是都没有能够达到以下需求的日历控件
这里写图片描述
而且自身能力不足就只能从GitHub上面查找,总共找了2个都是在此基础上修改达到上图的需求的,以下就是说明:
1.这个日历控件能够达到的效果是可以通过手势滑动让日历隐藏和现实,而且日历下面还可以添加recycleview等来滑动,其缺点是不能够实现周视图和月视图的转换,原GitHub地址为:https://github.com/codbking/CalendarExaple,我是在第二个基础上修改的。其效果如下:
这里写图片描述
2.这个日历控件是能够实现周视图和月视图的切换,缺点是当日历下面添加Recycleview或者其他滑动控件的时候不能进行手势滑动,原GitHub地址为:https://github.com/keepking/KeepCalendar。其效果图如下图所示:
这里写图片描述
在使用这个日历控件时需要注意的是在初始化日历的时候,图中日历下面的Tab选项卡是没有和日历控件写在同一个布局中的,是通过代码来实现的,即
这里写图片描述

最后,Github地址:https://github.com/CristianoLi/FSCalendar
在修改的过程中本人能力有限,大家可以在此基础上再修改

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值