Skip to content

1. Getting Started

Vikram Ezhil edited this page Mar 16, 2021 · 2 revisions

This chapter covers the basic setup for using this library.

As a first step, add a dependency to this library to your project. How to do that is described in the usage section of this repository.

Gradle is the recommended way of using this library as a dependency.

Vertical Wheel Picker

<com.github.vikramezhil.wheelpicker.view.WheelPicker
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:wheelPickerBgColor="@color/colorAccent"
    app:wheelPickerDividerColor="@android:color/white"
    app:wheelPickerItemSelectedBgColor="@color/colorAccent"
    app:wheelPickerItemUnselectedBgColor="@color/colorAccent"
    app:wheelPickerItemsTextBold="true"
    app:wheelPickerItemsTextItalic="true"
    app:wheelPickerOrientationVertical="true"
    app:wheelPickerScaleDownEnabled="true"
    app:wheelPickerItemsTextSize="8dp"
    app:wheelPickerItemsUnselectedTextAlpha="0.8"
    app:wheelPickerItems="@array/app_items"/>

Horizontal Wheel Picker

<com.github.vikramezhil.wheelpicker.view.WheelPicker
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:wheelPickerBgColor="@color/colorAccent"
    app:wheelPickerDividerColor="@android:color/white"
    app:wheelPickerItemSelectedBgColor="@color/colorAccent"
    app:wheelPickerItemUnselectedBgColor="@color/colorAccent"
    app:wheelPickerItemsTextBold="true"
    app:wheelPickerItemsTextItalic="true"
    app:wheelPickerOrientationVertical="false"
    app:wheelPickerScaleDownEnabled="true"
    app:wheelPickerItemsTextSize="8dp"
    app:wheelPickerItemsUnselectedTextAlpha="0.8"
    app:wheelPickerItems="@array/app_items"/>

For more information on default properties and values, refer to properties class

General Properties

  1. wheelPickerBgColor - Wheel picker background colour of type Color, if not set default is black.

  2. wheelPickerDividerColor - Wheel picker divider colour of type Color, if not set default is white.

  3. wheelPickerOrientationVertical - Wheel picker vertical orientation of type Boolean, if not set default is false.

  4. wheelPickerInfiniteScrolling - Wheel picker infinite scrolling of type Boolean, if not set default is false.

  5. wheelPickerScaleDownEnabled - Wheel picker scaling down of type Boolean, if not set default is false.

  6. wheelPickerShowDivider - Wheel picker show divider of type Boolean, if not set default is true.

Items List Properties

  1. wheelPickerItems - Wheel picker items list of type array of strings, if not set default is empty.

  2. wheelPickerItemsTextStyle - Wheel picker items text theme of type styles, if not set will fallback to app default theme.

  3. wheelPickerItemsTextSize - Wheel picker items text size of type dimension, if not set default value is 12sp.

  4. wheelPickerItemsTextBold - Wheel picker items text style bold of type Boolean, if not set default is false.

  5. wheelPickerItemsTextItalic - Wheel picker items text style italic of type Boolean, if not set default is false.

  6. wheelPickerItemsUnselectedTextAlpha - Wheel picker unselected items text alpha of type Float, if not set default is 1f.

Item List Properties

  1. wheelPickerDefaultSelectedItemPos - Wheel picker default selected item position of type Int, if not set default is 0.

  2. wheelPickerItemSelectedBgColor - Wheel picker default selected item background colour of type Color, if not set default is black.

  3. wheelPickerItemSelectedTextColor - Wheel picker default selected item text colour of type Color, if not set default is white.

  4. wheelPickerItemUnselectedBgColor - Wheel picker default unselected item background colour of type Color, if not set default is black.

  5. wheelPickerItemUnselectedTextColor - Wheel picker default unselected item text colour of type Color, if not set default is white.

Listener Method

wheelPicker.setOnWheelPickerListener(object: OnWheelPickerListener {
    override fun onItemSelected(position: Int, value: String) {
      // Called when an item is selected
    }

    override fun onRefreshed(list: ArrayList<String>, position: Int, value: String) {
      // Called when the view is refreshed
    }

    override fun onScrolling() {
      // Called whenever there is an active scroll
    }
})

Data binding

For data binding example, refer to the example view model and xml