Wheel

open class Wheel @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.attr.sd_wheelStyle, defStyleRes: Int = R.style.Sdds_Components_Wheel) : LinearLayout

Компонент выбора значения в виде набора вертикальных колес (списков), напоминающих колесо прокрутки.

Позволяет отображать один или несколько списков значений с возможностью выбора, управления стилями, добавления иконок управления, описаний и разделителей.

Используется для ввода чисел, дат, времени или других параметров, где требуется выбор из списка.

Поддерживает:

  • Несколько колес с независимыми данными.

  • Кастомизацию внешнего вида (цвета, отступы, стили).

  • Иконки управления прокруткой.

  • Бесконечную прокрутку и разделители между колесами.

Parameters

context

Контекст, в котором используется компонент.

attrs

Атрибуты XML, применённые к компоненту.

defStyleAttr

Стиль по умолчанию для атрибута.

defStyleRes

Ресурс стиля по умолчанию.

Constructors

Link copied to clipboard
constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.attr.sd_wheelStyle, defStyleRes: Int = R.style.Sdds_Components_Wheel)

Types

Link copied to clipboard
object Companion

Константы и вспомогательные методы для компонента Wheel.

Link copied to clipboard
fun interface EntrySelectedListener

Интерфейс слушателя, уведомляющего о выборе элемента в одном из колес.

Link copied to clipboard
open class WheelItemEntry(val id: Long, val title: String, val textAfter: String? = null) : ListItem

Элемент, отображаемый в колесе. Содержит основной текст и дополнительную строку после значения.

Properties

Link copied to clipboard

Иконка кнопки прокрутки вниз.

Link copied to clipboard

Иконка кнопки прокрутки вверх.

Link copied to clipboard

Включает/выключает кликабельность кнопок управления (вверх/вниз) у элементов.

Link copied to clipboard

Отображать ли кнопки управления (вверх/вниз) у элементов.

Link copied to clipboard

Отступ описания от основного текста.

Link copied to clipboard

Минимальное расстояние между элементами.

Link copied to clipboard

Минимальное расстояние между элементами.

Link copied to clipboard

Минимальное расстояние между элементами.

Link copied to clipboard

Включена ли бесконечная прокрутка.

Link copied to clipboard
open var itemAlignment: Int

Выравнивание текста внутри элементов.

Link copied to clipboard

Отступ между основным текстом и дополнительным текстом элемента.

Link copied to clipboard

Отступ между разделителем и соседними колесами.

Link copied to clipboard
open var separatorType: Int

Тип разделителя между колесами.

Link copied to clipboard

Количество видимых элементов в каждом колесе.

Link copied to clipboard
open var wheelCount: Int

Количество колес на экране.

Functions

Link copied to clipboard

Добавляет слушатель выбора элемента.

Link copied to clipboard
open fun getDescription(wheelId: Int): CharSequence?

Возвращает описание указанного колеса.

Link copied to clipboard

Возвращает выбранный элемент колеса.

Link copied to clipboard

Удаляет слушатель выбора элемента.

Link copied to clipboard
open fun setControlsDisplayMode(mode: Int)

Изменяет режим отображения кнопок управления колесом

open fun setControlsDisplayMode(wheelId: Int, mode: Int)

Изменяет режим отображения кнопок управления колесом с идентификатором wheelId

Link copied to clipboard
open fun setControlsEnabled(wheelId: Int, enabled: Boolean)

Контроллирует доступность кнопок управления колесом с идентификатором wheelId

Link copied to clipboard
open fun setData(wheelId: Int, entries: List<Wheel.WheelItemEntry>)

Устанавливает данные для колеса по идентификатору.

Link copied to clipboard
open fun setDescription(description: CharSequence?)

Устанавливает описание для всех колес.

open fun setDescription(wheelId: Int, description: CharSequence?)

Устанавливает описание для конкретного колеса.

Link copied to clipboard
open fun setDescriptionTextAppearance(@StyleRes appearanceId: Int)

Устанавливает стиль текста описания.

Link copied to clipboard
open fun setDescriptionTextColor(colorValueStateList: ColorValueStateList?)

Устанавливает цвет текста описания.

Link copied to clipboard
open fun setItemTextAfterAppearance(@StyleRes appearanceId: Int)

Устанавливает стиль дополнительного текста элемента.

Link copied to clipboard
open fun setItemTextAfterColor(colorValueStateList: ColorValueStateList?)

Устанавливает цвет дополнительного текста элемента.

Link copied to clipboard
open fun setItemTextAppearance(@StyleRes appearanceId: Int)

Устанавливает стиль текста элемента.

Link copied to clipboard
fun setItemTextColor(colorStateList: ColorStateList?)
open fun setItemTextColor(colorValueStateList: ColorValueStateList?)

Устанавливает цвет текста элемента.

Link copied to clipboard
override fun setOrientation(orientation: Int)
Link copied to clipboard
open fun setSelectedEntry(wheelId: Int, entryId: Long, animate: Boolean = true): Boolean

Устанавливает выбранный элемент по идентификатору.