All Projects → agilie → Circularpicker

agilie / Circularpicker

Licence: mit
CircularPicker is helpful for creating a controller aimed to manage any calculated parameter.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Circularpicker

react-calendar-datetime-picker
A simple and fast date and time picker component for React
Stars: ✭ 58 (-20.55%)
Mutual labels:  datetime, timepicker, datepicker, picker
Angular Moment Picker
Angular Moment Picker is an AngularJS directive for date and time picker using Moment.js.
Stars: ✭ 536 (+634.25%)
Mutual labels:  datetime, picker, datepicker, timepicker
Angular Bootstrap Datetimepicker
Native Angular date/time picker component styled by Twitter Bootstrap
Stars: ✭ 1,289 (+1665.75%)
Mutual labels:  datetime, picker, datepicker, timepicker
popoPicker
popoPicker是一个移动端3D滚轮日期时间和单项的选择器,支持无限循环滚动,不依赖第三方库
Stars: ✭ 26 (-64.38%)
Mutual labels:  timepicker, datepicker, picker
vue3-date-time-picker
Datepicker component for Vue 3
Stars: ✭ 157 (+115.07%)
Mutual labels:  datetime, timepicker, datepicker
jquery-datepicker
A full-featured datepicker jquery plugin
Stars: ✭ 35 (-52.05%)
Mutual labels:  datetime, datepicker, picker
Horizontalpicker
DatePicker horizontal con selección smooth por día para Android.
Stars: ✭ 116 (+58.9%)
Mutual labels:  datetime, picker, datepicker
Vue Ctk Date Time Picker
VueJS component to select dates & time, including a range mode
Stars: ✭ 707 (+868.49%)
Mutual labels:  picker, datepicker, timepicker
svelty-picker
Simple date & time picker in svelte
Stars: ✭ 38 (-47.95%)
Mutual labels:  datetime, timepicker, datepicker
Vue Datetime
Mobile friendly datetime picker for Vue. Supports date and datetime modes, i18n and more.
Stars: ✭ 928 (+1171.23%)
Mutual labels:  datetime, datepicker, timepicker
Datetimepicker
jQuery Plugin Date and Time Picker
Stars: ✭ 3,402 (+4560.27%)
Mutual labels:  picker, datepicker, timepicker
Pickerjs
⚠️ [Deprecated] No longer maintained. JavaScript date time picker.
Stars: ✭ 299 (+309.59%)
Mutual labels:  picker, datepicker, timepicker
Zebra datepicker
A super-lightweight, highly configurable, cross-browser date / time picker jQuery plugin
Stars: ✭ 367 (+402.74%)
Mutual labels:  datetime, datepicker, timepicker
Androidpicker
安卓选择器类库,包括日期及时间选择器(可用于出生日期、营业时间等)、单项选择器(可用于性别、民族、职业、学历、星座等)、二三级联动选择器(可用于车牌号、基金定投日期等)、城市地址选择器(分省级、地市级及区县级)、数字选择器(可用于年龄、身高、体重、温度等)、日历选日期择器(可用于酒店及机票预定日期)、颜色选择器、文件及目录选择器、图片选择器等……WheelPicker/DatePicker/TimePicker/OptionPicker/NumberPicker/LinkagePicker/AddressPicker/CarPlatePicker/CalendarPicker/ColorPicker/FilePicker/ImagePicker etc.
Stars: ✭ 5,320 (+7187.67%)
Mutual labels:  picker, datepicker, timepicker
Flatpickr
lightweight, powerful javascript datetimepicker with no dependencies
Stars: ✭ 14,575 (+19865.75%)
Mutual labels:  datetime, datepicker, timepicker
imrc-datetime-picker
(Improved) React component datetime picker by momentjs 📆
Stars: ✭ 21 (-71.23%)
Mutual labels:  datetime, datepicker, picker
Rc Datetime Picker
React component for datetime picker by Moment.js
Stars: ✭ 85 (+16.44%)
Mutual labels:  datetime, picker, datepicker
Persianrangedatepicker
Persian range date picker for android.
Stars: ✭ 48 (-34.25%)
Mutual labels:  picker, datepicker, timepicker
vue-timeselector
🕒 Simply customizable powerful time picker for Vue.js
Stars: ✭ 41 (-43.84%)
Mutual labels:  datetime, timepicker, picker
Tempus Dominus
A powerful Date/time picker widget.
Stars: ✭ 6,900 (+9352.05%)
Mutual labels:  datetime, picker, datepicker

CircularPicker

Made by Agilie GitHub license

We are pleased to offer you our new free lightweight plugin named CircularPicker.

CircularPicker is helpful for creating a controller aimed to manage any calculated parameter. For example, it can be used as a countdown timer or for keeping the score in the game interface.

CircularPicker can be customized to meet your individual requirements. The developer can set the number of the controllers and their design by selecting a color, gradient and other similar parameters. In addition, it’s possible to specify the transition type for showing controllers on the screen.

Demo

Link to iOS repo

Check out our iOS CircularPicker also!

Example

To run the example project, clone the repo and run sample.

How does it work?

Just add CircularPickerPagerContainer which contains CircularPickerViewPager to your layout file.

<com.agilie.circularpicker.ui.view.CircularPickerPagerContainer
        android:id="@+id/timePickerPagerContainer"
        android:layout_width="match_parent"
        android:layout_height="350dp">

        <com.agilie.circularpicker.ui.view.CircularPickerViewPager
            android:id="@+id/view_pager"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal">

        </com.agilie.circularpicker.ui.view.CircularPickerViewPager>
</com.agilie.circularpicker.ui.view.CircularPickerPagerContainer>

Also you can use only CircularPickerView

<com.agilie.circularpicker.ui.view.CircularPickerView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

The library contains three key elements:

  1. CircularPickerPagerContainer - a custom container to show more than one page at a time.
  2. CircularPickerViewPager - a custom ViewPager in which we define the region in the view element for swipe action.
  3. CircularPickerView - a controller aimed to manage any calculated parameter. CircularPickerView has the following settings:
var colors : intArrayOf
var gradientAngle : Int 
var maxLapCount : Int           // number of laps (required)
var maxValue : Int              // total values (required)
var currentValue : Int 
var centeredTextSize : Float 
var centeredText : String 
var centeredTextColor: Int
var centeredTypeFace : TypeFace
var valueChangedListener : object
var colorChangedListener : object
<declare-styleable name="CircularPickerView">
        <attr name="circularPickerSpace" format="float" />
        <attr name="pullUp" format="float" />
    </declare-styleable>

Our example of using CircularPicker

Let's see how we can use it in practice. In our layout.xml we added CircularPickerPagerContainer which contains CircularPickerViewPager, then created CircularPickerView in the Activity and set up parameters:

СircularPickerView(context).apply {
            colors = (intArrayOf(
                    Color.parseColor("#00EDE9"),
                    Color.parseColor("#0087D9"),
                    Color.parseColor("#8A1CC3")))
            gradientAngle = 220
            maxLapCount = 2
            currentValue = 13
            maxValue = 24
            centeredTextSize = 60f
            centeredText = "Hours"

Here are also two callback interfaces provided with CircularPickerView. Use them to handle changes made during the interaction with the component:

interface ValueChangedListener {
    fun onValueChanged(value: Int)
}

interface ColorChangedListener {
    fun onColorChanged(r: Int, g: Int, b: Int)
}

Usage

Gradle

Add dependency in your build.gradle file:

compile 'com.agilie:circular-picker:1.0'

Maven

Add rependency in your .pom file:

<dependency>
  <groupId>com.agilie</groupId>
  <artifactId>circular-picker</artifactId>
  <version>1.0</version>
  <type>pom</type>
</dependency>

Requirements

CircularPicker works on Android API 16+

Troubleshooting

Problems? Check the Issues block to find the solution or create an new issue that we will fix asap.

Author

This library is open-sourced by Agilie Team [email protected]

Contributors

Contact us

If you have any questions, suggestions or just need a help with web or mobile development, please email us at
[email protected]
You can ask us anything from basic to complex questions.
We will continue publishing new open-source projects. Stay with us, more updates will follow!

License

The MIT License (MIT) Copyright © 2017 Agilie Team

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].