Giter Site home page Giter Site logo

oheyadam / bottomsheettimerangepicker Goto Github PK

View Code? Open in Web Editor NEW
65.0 2.0 18.0 249 KB

A tiny Android library for displaying a TimePicker with From and To ranges as a BottomSheetDialogFragment.

License: Apache License 2.0

Kotlin 97.07% Java 2.93%
android-library timepickerdialog datepickerdialog bottomsheetdialogfragment range-selection range

bottomsheettimerangepicker's Introduction

License Android Arsenal

BottomSheetPickers

BottomSheetPickers is a tiny Android library for adding Date and Time Pickers as Modal BottomSheetDialogs with From and To ranges.

The library is inspired by Titto Jose's TimeRangePicker.

Screenshots

Installation

Add Jitpack to your project build.gralde file

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

}

Then add this dependency to your app build.gradle file.

  dependencies {
        implementation 'com.github.adawoud:BottomSheetTimeRangePicker:latest-release'
}

Usage

Make sure your Activity/Fragment implements OnTimeRangeSelectedListener, and then you can just do this:

BottomSheetTimeRangePicker
	.newInstance(this, DateFormat.is24HourFormat(this))
	.show(supportFragmentManager, tagBottomSheetTimeRangePicker)

You can see this in action in the sample app here

Customization

You can customize things like the text displayed in the From and To tabs, the text that appears on the positive action button, and set intial times for both timepickers

BottomSheetTimeRangePicker
	.tabLabels(startTabLabel = "Hello", endTabLabel = "World")
	.doneButtonLabel("Ok")
	.startTimeInitialHour(2)
    	.startTimeInitialMinute(11)
    	.endTimeInitialHour(10)
    	.endTimeInitialMinute(22)
    	.newInstance(this, DateFormat.is24HourFormat(this))
   	.show(supportFragmentManager, tagBottomSheetTimeRangePicker)

License

Copyright 2018 Ahmad Dawoud

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.

bottomsheettimerangepicker's People

Contributors

oheyadam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bottomsheettimerangepicker's Issues

Prevent input when touch outside the clock & button customization

When I touch outside the circle of the clock (e.g I want to drag to expand the dialog), the time changed. Can you remove touch input when I touch outside the circle?
And also please add option for button margin, drawable, drawablePadding & to open second tab first.

Change text, color theme, set initial value on open

I've just use this library. It's good in my opinion. Please add customization options for changing "start time", "end time" and "done" label, clock text size, color theme. Also how to set initial time value for both start & end? I want like open/beforeOpen listener and there I set the value to match current variable. Thank you.

endTimeInitialHour is wrong !!

After i saw the libraries code i saw one problem in function : initInitialTimeValuesIfAdjusted() the endMinute was set for both (endHours and endMinute).

I just wanted to report this problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.