android 仿预订日历时间选择(如去哪儿,携程时间选择)
马上就要下班,随便写个博客,废话不多说,直接看效果
看标题就知道了,一个日历选择,类似于去哪儿,携程,酒店预订功能
调用方法
package com.fly.caldroid; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; import android.view.View; import com.wz.caldroid.CalendarCellDecorator; import com.wz.caldroid.CalendarPickerView; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Date; @SuppressLint("SimpleDateFormat") public class CaldroidActivity extends Activity {private CalendarPickerView calendar; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.calendar_activity); Bundle myBundle = getIntent().getExtras(); long seleteTime = myBundle.getLong("selete_time"); final Calendar nextYear = Calendar.getInstance(); nextYear.add(Calendar.MONTH, 3); final Calendar lastYear = Calendar.getInstance(); lastYear.add(Calendar.MONTH, 0); calendar = (CalendarPickerView) findViewById(R.id.calendar_view); Calendar today = Calendar.getInstance(); ArrayList<Date> dates = new ArrayList<Date>(); if (seleteTime>0){Date d1=new Date(seleteTime); dates.add(d1); }else{dates.add(today.getTime()); }calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList()); calendar.init(lastYear.getTime(), nextYear.getTime()) // .inMode(CalendarPickerView.SelectionMode.MULTIPLE) // .withSelectedDate(dates.get(0)); initButtonListeners(); }private void initButtonListeners() {calendar.setOnDateSelectedListener(new CalendarPickerView.OnDateSelectedListener() {@Override public void onDateSelected(Date date) {Intent intent = new Intent(); intent.putExtra("SELETE_DATA_TIME", calendar.getSelectedDate().getTime()); setResult(2, intent); finish(); }@Override public void onDateUnselected(Date date) {}}); View titlebar_img_back=findViewById(R.id.titlebar_img_back); titlebar_img_back.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View view) {finish(); }}); }@Override public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig); } }
layout======
calendar_activity
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/title_content_layout" android:layout_width="match_parent" android:layout_height="47.5dp" android:background="@color/big_red"> <TextView android:id="@+id/titlebar_text_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_marginLeft="10dp" android:layout_toRightOf="@+id/titlebar_img_back" android:maxEms="8" android:singleLine="true" android:text="选择日历" android:textColor="@color/white" android:textSize="18sp" android:visibility="visible" /> <ImageView android:id="@+id/titlebar_img_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:padding="5dp" android:src="@drawable/back_ic" android:visibility="visible" /> </RelativeLayout> <com.wz.caldroid.CalendarPickerView android:id="@+id/calendar_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingBottom="16dp" android:scrollbarStyle="outsideOverlay" android:clipToPadding="false" android:background="#FFFFFF" /> </LinearLayout>
在textview上显示时间
package com.fly.caldroid; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.TextView; import java.text.SimpleDateFormat; import java.util.Date; public class MainActivity extends AppCompatActivity {private long seleteTime = 0; private TextView time_choice_view; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); time_choice_view = (TextView) findViewById(R.id.time_choice_view); time_choice_view.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View view) {Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putLong("selete_time", seleteTime); intent.putExtras(bundle); intent.setClass(MainActivity.this, CaldroidActivity.class); startActivityForResult(intent, 5); }}); }@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 5) {if (resultCode == 2) {seleteTime = data.getLongExtra("SELETE_DATA_TIME", 0); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = new Date(seleteTime); String t1 = format.format(d1); if (seleteTime > 0) {time_choice_view.setText(t1); } else {return; }}}super.onActivityResult(requestCode, resultCode, data); } }
最后直接贴上demo下载地址
http://download.csdn.net/detail/mingzhnglei/9575733
有什么问题了 可以相互讨论
android 仿预订日历时间选择(如去哪儿,携程时间选择)相关推荐
- android 仿小米日历 周视图 月视图切换
android 仿小米日历,周视图左右滑动,月视图左右滑动,周视图月视图无缝切换: http://download.csdn.net/detail/chen352602412/9556162 插播广告 ...
- android 仿旅游日历控件_android 仿预订日历时间选择(如去哪儿,携程
匿名用户 1级 2018-02-04 回答 看标题就知道了,一个日历选择,类似于去哪儿,携程,酒店预订功能 调用方法 package com.fly.caldroid;import android.a ...
- android仿小米日历,实现一个仿小米日历控件
先看效果图: 效果图 根据效果,我们可以看到,要实现该控件,需要具备: 容器以及触摸事件处理 周日历布局以及选择,切换上下周处理 月日历布局以及选择,切换上下月处理 首先说说容器 对于其他使用者来说, ...
- android 仿旅游日历控件_Android实现仿魅族日历首页功能
flyme5.0增加了很多优美的动画和交互,界面也变得相当精致.我手头现在就用着魅族MX5,感觉还不错哇!经常会打开它的日历看计划等,感觉它首页的滑动效果还不错,就试着实现一把. 效果分析 1 该首页 ...
- android 仿旅游日历控件_可能是第十好的Android 开源 日历 Calendar 仿小米
简介 由于项目的需求,研究了众多日历软件.本软件是一款高仿小米的自定义日历>控件,周月视图平滑滚动,平滑切换,可以在xml文件中进行属性的配置定制,加入你自己的RecyclerView后,实现日 ...
- android 日历动画效果,Android仿 MIUI日历
前言 这个日历是一个仿MIUI交互的日历,尽可能实现MIUI日历的交互设计,加入了一些自定义属性,如设置默认视图,设置一周的第一天是周日还是周一等.这个日历是在之前我写的那个日历基础上改的,里面的关于 ...
- Android仿IOS日历
很久没有写博客了,深知这样是不对的,今日多次反省之后,跟大家分享一个关于日历的功能 简单的描述一下日历的功能: 左右滑动可以切换日期 日期中有阴历和阳历两个日期 选中日期时,会有一个圆形背景效果,如果 ...
- android 仿旅游日历控件_SuperCalendar 仿小米的Android 开源简单实用的日历表
看到本篇文章的同学估计也是实验课或者项目需求中需要一个日历表,当我接到这个需求的时候,当时脑子压根连想都没想,这么通用的控件,GitHub上一搜一大堆不是嘛.可是等到真正做起来的时候,扎心了老铁,Gi ...
- android 仿旅游日历控件_Android日历控件MaterialCalendarView
calendar.png 最近项目中需要用到日历控件,1.需要给已经记录的日期添加圆环标记2.给当天日期添加背景3.给周末日期更改颜色4.日历添加农历,需求如上图所示: GitHub的material ...
最新文章
- Silverlight开发中遇到的几个小问题
- MYSQL 使用自定义表变量
- 现代操作系统: 第八章 多处理机系统
- 安装hmmlearn
- python和c有什么区别_c 跟 python的区别有哪些
- Django之创建应用以及配置路由
- 【Python】如何在python中执行另一个py文件
- 2021年4月蓝桥杯软件类省赛:题目+解析(完整版)
- 纯电动两档箱实际项目模型,本模型基于Cruise软件和搭建完成,本资料包包含所有源文件
- 基于Java生鲜蔬菜食品商城系统详细设计和实现
- 为BIG网站建立历史记录页面
- 大数据时代,数据的应用场景
- php控制梯形图,如何画梯形图? plc梯形图怎么画?如何画plc梯形图
- 单机安装ELK出现的yellow问题
- 2021年全球与中国滴漏式咖啡机行业市场规模及发展前景分析
- Typora 如何依次打小黑点,空心圆,实心框后恢复空心圆、小黑点
- 虚幻UE4/5中如何使用材质节点旋转贴图
- 软件开发经验总结(容错性)
- 知识图谱类产品-开题报告构想(一)
- nodejs+vue+elementui学生作业管理系统thinkphp