Carousel

open class Carousel @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.attr.sd_carouselStyle, defStyleRes: Int = R.style.Sdds_Components_Carousel) : FrameLayout

Компонент карусели на базе ViewPager2 с кнопками навигации и индикатором страниц.

Карусель предоставляет:

  • горизонтальную прокрутку элементов;

  • кнопки «Предыдущий» и «Следующий» (можно отключать и настраивать их расположение);

  • индикатор страниц в виде точек PaginationDots;

  • возможность задания отступов между элементами и смещения страниц за пределами экрана.

Parameters

context

контекст, в рамках которого создаётся карусель

attrs

атрибуты, заданные в XML-разметке

defStyleAttr

стиль по умолчанию для применения к этому виджету

defStyleRes

резервный стиль по умолчанию, используемый при отсутствии стиля в теме

Constructors

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

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Адаптер ViewPager2.

Link copied to clipboard

Выравнивание контента внутри Carousel

Link copied to clipboard

Включает/выключает кнопки переключения текущего элемента в Carousel

Link copied to clipboard

Расположение кнопок

Link copied to clipboard

Текущая страница ViewPager2.

Link copied to clipboard
var gap: Int

Отступ между элементами ViewPager2

Link copied to clipboard

Включает/выключает индикатор текущего элемента

Link copied to clipboard

Отступ от индикатора до контента ViewPager2

Link copied to clipboard

Изменяет кол-во видимых точек в индикаторе PaginationDots

Link copied to clipboard

Разрешён ли пользовательский ввод (скролл).

Link copied to clipboard

Отступ от кнопки "Следующий" до контента ViewPager2

Link copied to clipboard

Кол-во страниц за пределами "экрана"

Link copied to clipboard

Ориентация ViewPager2.

Link copied to clipboard

Отступ от кнопки "Предыдущий" до контента ViewPager2

Functions

Link copied to clipboard

Устанавливает декоратор элементов Carousel

Link copied to clipboard

Регистрирует callback для отслеживания изменений страниц.

Link copied to clipboard

Устанавливает трансформер элементов

Link copied to clipboard

Удаляет декоратор элементов Carousel

Link copied to clipboard

Удаляет ранее зарегистрированный callback.

Link copied to clipboard

Устанавливает трансформер элементов

Link copied to clipboard

Устанавливает иконку icon для кнопки "Следующий"

Link copied to clipboard

Устанавливает иконку для кнопки "Следующий" из ресурса iconRes

Link copied to clipboard

Устанавливает смещение страниц за границами экрана.

fun setOffscreenOffset(offsetProvider: (view: View) -> Float)

Устанавливает смещение страниц за границами экрана. Увеличивая смещение уменьшается ширина страницы. За счет этого можно достичь эффекта одновременного отображения соседних элементов.

Link copied to clipboard

Устанавливает иконку icon для кнопки "Предыдущий"

Link copied to clipboard

Устанавливает иконку для кнопки "Предыдущий" из ресурса iconRes