All Projects → Kunzisoft → Android Switchdatetimepicker

Kunzisoft / Android Switchdatetimepicker

Licence: apache-2.0
Android library for Date and Time Picker in same dialog

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Android Switchdatetimepicker

Vue Ctk Date Time Picker
VueJS component to select dates & time, including a range mode
Stars: ✭ 707 (+96.39%)
Mutual labels:  dialog, datepicker, timepicker
flatpickr-rails
This gem packages flatpickr's assets for drop-in use in Rails applications.
Stars: ✭ 29 (-91.94%)
Mutual labels:  timepicker, datepicker
vue3-date-time-picker
Datepicker component for Vue 3
Stars: ✭ 157 (-56.39%)
Mutual labels:  timepicker, datepicker
qing
🍧一个UI组件库。包括 { 日期选择器组件 } { 时间选择器组件 } { 分页组件 } { 树组件 } { 级联选择器组件 } { 表单组件 } 等,ES6语法编写,原生模块化
Stars: ✭ 71 (-80.28%)
Mutual labels:  timepicker, datepicker
react-calendar-datetime-picker
A simple and fast date and time picker component for React
Stars: ✭ 58 (-83.89%)
Mutual labels:  timepicker, datepicker
ng-persian-datepicker
Persian datepicker for angular 12+
Stars: ✭ 62 (-82.78%)
Mutual labels:  timepicker, datepicker
popoPicker
popoPicker是一个移动端3D滚轮日期时间和单项的选择器,支持无限循环滚动,不依赖第三方库
Stars: ✭ 26 (-92.78%)
Mutual labels:  timepicker, datepicker
Androidnavigation
A library managing navigation, nested Fragment, StatusBar, Toolbar for Android
Stars: ✭ 636 (+76.67%)
Mutual labels:  fragment, dialog
WheelPicker
A wheel picker for Android, support DateWheelPicker, TimeWheelPicker(滚轮控件,日期、时间选择器,省市区三级联动)
Stars: ✭ 33 (-90.83%)
Mutual labels:  timepicker, datepicker
ak-vue3
组件库包含了 AutoForm 自动表单、BackTop 返回顶部、Breadcrumb 面包屑、 Button 按钮、Cascader 级联选择器、Checkbox 多选框、Collapse 折叠面板、ColorPicker 颜色选择器、DataPicker 时间选择器、Dialog 弹层对话框、Alert 弹框、Echarts 图形图表、Form 表单、Input 输入框、Lazy 图片延时加载、Loading 加载等待、Menu 菜单、Pagination 分页、Progress 进度条、Radio 单选框、Select 选择器、Steps 步骤条、Swiper 图片轮播、Switch 开关、Table 表格、Tabs 标签页、Textarea 文本框、Tooltip 提示、Tr…
Stars: ✭ 24 (-93.33%)
Mutual labels:  dialog, datepicker
Datetimepicker
jQuery Plugin Date and Time Picker
Stars: ✭ 3,402 (+845%)
Mutual labels:  datepicker, timepicker
Pickerjs
⚠️ [Deprecated] No longer maintained. JavaScript date time picker.
Stars: ✭ 299 (-16.94%)
Mutual labels:  datepicker, timepicker
nativescript-datetimepicker
Plugin with date and time picking fields
Stars: ✭ 26 (-92.78%)
Mutual labels:  timepicker, datepicker
NodaTimePicker
A Date/Time picker component library for Blazor using NodaTime
Stars: ✭ 49 (-86.39%)
Mutual labels:  timepicker, datepicker
Base
🍁 Base是针对于Android开发封装好一些常用的基类,主要包括通用的Adapter、Activity、Fragment、Dialog等、和一些常用的Util类,只为更简单。
Stars: ✭ 249 (-30.83%)
Mutual labels:  fragment, dialog
silverware-calendar
SilverWare Calendar Module
Stars: ✭ 15 (-95.83%)
Mutual labels:  timepicker, datepicker
date-time-picker
Angular Date Time Picker (Responsive Design)
Stars: ✭ 98 (-72.78%)
Mutual labels:  timepicker, datepicker
Amazing Time Picker
Timepicker (Clock Picker) for Angular 2, Angular 4 and Angular 5, Angular 6, Angular 7 - Compatible with Angular Material
Stars: ✭ 142 (-60.56%)
Mutual labels:  dialog, timepicker
Vue Ui For Pc
基于Vue2.x的一套PC端UI组件,包括了Carousel 跑马灯、Cascader 级联、Checkbox 多选框、Collapse 折叠面板、DatePicker 日期选择、Dialog 对话框、Form 表单、Input 输入框、InputNumber 数字输入框、Layer 弹窗层、Loading 加载、Menu 菜单、Page 分页、Progress 进度条、Radio 单选框、SelectDropDown 仿select、Switch 开关、Table 表格、Tabs 标签页、Textarea 文本框、Tooltip 文字提示、BackTop 返回顶部、steps 步骤条、Transfer 穿梭框、Tree 树形、Upload 文件上传、Lazy 图片懒加载、Loading 加载、Pagination 分页等等
Stars: ✭ 156 (-56.67%)
Mutual labels:  dialog, datepicker
svelty-picker
Simple date & time picker in svelte
Stars: ✭ 38 (-89.44%)
Mutual labels:  timepicker, datepicker

Android Arsenal

Android SwitchDateTime Picker

SwitchDateTime Picker is a library for select a Date object in dialog with a DatePicker (Calendar) and a TimePicker (Clock) in the same UI.

Contributions

You can contribute in different ways to help us on our work.

  • Add features by a pull request.
  • Help to translate into your language
  • Donate 人◕ ‿‿ ◕人Y for a better service and a quick development of your features.

Installation

Add the JitPack repository in your build.gradle at the end of repositories:

	allprojects {
		repositories {
			...
			maven { url "https://jitpack.io" }
		}
	}

And add the dependency replacing ${version} with the version number in jitpack

	dependencies {
	        compile 'com.github.Kunzisoft:Android-SwitchDateTimePicker:${version}'
	}

Usage

SimpleDateFormat for Day and Month

You can specify a particular SimpleDateFormat for value of Day and Month with setSimpleDateMonthAndDayFormat(SimpleDateFormat format) Warning, the format must satisfy the regular expression : (M|w|W|D|d|F|E|u|\s)* , for example dd MMMM

24 Hours mode

By default, time is in 12 hours mode, If you want a 24-hour display, use: dateTimeFragment.set24HoursMode(true); before the "show"

Hightligh selected AM / PM

In 24 hours mode, If you want to highlight the selected AM or PM, use : dateTimeFragment.setHighlightAMPMSelection(true);

Start with a specific view

For launch Dialog with a specific view, call : dateTimeFragment.startAtTimeView();, dateTimeFragment.startAtCalendarView(); or dateTimeFragment.startAtYearView(); before the "show"

Define minimum and maximum

For just allow selection after or/and before dates, use : dateTimeFragment.setMinimumDateTime(Date minimum); and dateTimeFragment.setMaximumDateTime(Date maximum);

TimeZone

Optionally define a timezone : dateTimeFragment.setTimeZone(TimeZone.getDefault());

Style

You can customize the style to change color, bold, etc... of each element. You need to use a Theme.AppCompat theme (or descendant) with SwitchDateTime's activity. (compile 'com.android.support:appcompat-v7:25.1.0' in gradle)

In your styles.xml, you can redefine each style separately, but you must keep each item, for example : change size of "year label"

<resources>
    <!-- Base application theme. -->
    <style name="MyAppCustomTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <!-- SwitchDateTime style is independent, each element is optional-->
    <!-- Year Precise -->
    <style name="Theme.SwitchDateTime.DateLabelYear">
        <item name="android:textSize">58sp</item>
        <item name="android:textColor">#fff</item>
        <item name="android:textStyle">bold</item>
    </style>
</resources>

Styles elements : https://github.com/Kunzisoft/Android-SwitchDateTimePicker/blob/master/switchdatetime/src/main/res/values/styles.xml

AlertStyle

To customize the AlertDialog that is shown, use : void setAlertStyle(@StyleRes int styleId)

Sample

You can see https://github.com/J-Jamet/Android-SwitchDateTimePicker/blob/master/sample/src/main/java/com/kunzisoft/switchdatetimesample/Sample.java for complete sample.

// Initialize
SwitchDateTimeDialogFragment dateTimeDialogFragment = SwitchDateTimeDialogFragment.newInstance(
        "Title example",
        "OK",
        "Cancel"
);

// Assign values
dateTimeDialogFragment.startAtCalendarView();
dateTimeDialogFragment.set24HoursMode(true);
dateTimeDialogFragment.setMinimumDateTime(new GregorianCalendar(2015, Calendar.JANUARY, 1).getTime());
dateTimeDialogFragment.setMaximumDateTime(new GregorianCalendar(2025, Calendar.DECEMBER, 31).getTime());
dateTimeDialogFragment.setDefaultDateTime(new GregorianCalendar(2017, Calendar.MARCH, 4, 15, 20).getTime());

// Define new day and month format
try {
    dateTimeDialogFragment.setSimpleDateMonthAndDayFormat(new SimpleDateFormat("dd MMMM", Locale.getDefault()));
} catch (SwitchDateTimeDialogFragment.SimpleDateMonthAndDayFormatException e) {
    Log.e(TAG, e.getMessage());
}

// Set listener
dateTimeDialogFragment.setOnButtonClickListener(new SwitchDateTimeDialogFragment.OnButtonClickListener() {
    @Override
    public void onPositiveButtonClick(Date date) {
        // Date is get on positive button click
        // Do something
    }

    @Override
    public void onNegativeButtonClick(Date date) {
        // Date is get on negative button click
    }
});

// Show
dateTimeDialogFragment.show(getSupportFragmentManager(), "dialog_time");

Neutral button

To use with a neutral button, initialize with another parameter and implement the OnButtonWithNeutralClickListener :

SwitchDateTimeDialogFragment dateTimeDialogFragment = SwitchDateTimeDialogFragment.newInstance(
        "Title example",
        "OK",
        "Cancel",
        "Clean"
);

dateTimeFragment.setOnButtonClickListener(new SwitchDateTimeDialogFragment.OnButtonWithNeutralClickListener() {
    @Override
    public void onPositiveButtonClick(Date date) {
    }

    @Override
    public void onNegativeButtonClick(Date date) {
    }

    @Override
    public void onNeutralButtonClick(Date date) {
    }
});

Bonus

You can follow the project live on https://www.livecoding.tv/kunzisoft/

License

Copyright (c) 2016 JAMET Jeremy

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].