Carousel обеспечивает классический мобильный удобный вид карусели, где вы можете переключаться между слайдами. Вы можете добавить любое содержимое в карусель и перемещать его по горизонтали или вертикали. Карусель может отображать страницы в последовательности или цикле.
Пример:
from kivy.app import App from kivy.uix.carousel import Carousel from kivy.uix.image import AsyncImage class CarouselApp(App): def build(self): carousel = Carousel(direction='right') for i in range(10): src = "http://placehold.it/480x270.png&text=slide-%d&.png" % i image = AsyncImage(source=src, allow_stretch=True) carousel.add_widget(image) return carousel CarouselApp().run()
Он же на kv-lang:
Carousel: direction: 'right' AsyncImage: source: 'http://placehold.it/480x270.png&text=slide-1.png' AsyncImage: source: 'http://placehold.it/480x270.png&text=slide-2.png' AsyncImage: source: 'http://placehold.it/480x270.png&text=slide-3.png' AsyncImage: source: 'http://placehold.it/480x270.png&text=slide-4.png'
Changed in version 1.5.0: The carousel now supports active children, like the ScrollView. It will detect a swipe gesture according to the Carousel.scroll_timeout and Carousel.scroll_distance properties.
Кроме того, контейнер слайдов больше не предоставляется API. См. свойства Carousel.slides
, Carousel.current_slide
, Carousel.previous_slide
and Carousel.next_slide
.
Bases: kivy.uix.stencilview.StencilView
anim_cancel_duration
— Определяет продолжительность анимации, когда движение салфетки не принимается. Это, как правило, когда пользователь не делает достаточно длительного смахивания. См. min_move.anim_move_duration
— Определяет продолжительность анимации карусели между страницами. По умолчанию — 0.5anim_type
— Тип анимации для использования при анимации к следующему / предыдущему слайду. Это должно быть имя функции перехода анимации. По умолчанию ‘out_quad’.current_slide
— текущий слайдdirection
— Задает направление, в котором упорядочиваются слайды. Это соответствует направлению, с которого пользователь проводит пальцем от одного слайда к другому. Он может быть правым, левым, верхним или Нижним. Например, со значением по умолчанию right, второй слайд находится справа от первого, и пользователь будет прокручивать справа налево, чтобы добраться до второго слайда. По умолчанию = ‘right’ignore_perpendicular_swipes
— Игнорировать удары по оси, перпендикулярной направлению.index
— Получить/установить текущий слайд на основе индекса.load_next
(mode=’next’) — Анимация к следующему слайду.load_previous
() — к предыдущемуload_slide
(slide) — Animate to the slide that is passed as the argument.loop = False
— Позвольте карусели петлять бесконечно. Если значение True, то при попытке пользователя провести пальцем по последней странице он вернется к первой. Если значение False, оно останется на последней странице.min_move=0.2
— Определяет минимальное расстояние, которое должно быть пройдено до того, как прикосновение будет считаться жестом смаха и содержимое карусели изменится. Это выражается в виде доли ширины карусели. Если перемещение не достигает этого минимального значения, перемещение отменяется и содержимое восстанавливается в исходное положение.next_slide
— Следующий слайд в Карусели. Это не имеет значения, если текущий слайд является последним слайдом в Карусели. Этот порядок отражает порядок добавления слайдов: их представление изменяется в зависимости от свойства направления.previous_slide
— Предыдущий слайд в Карусели. Это не имеет значения, если текущий слайд является первым слайдом в Карусели. Этот порядок отражает порядок добавления слайдов: их представление изменяется в зависимости от свойства направления.scroll_distance=20dp
— Расстояние для перемещения перед прокруткой карусели в пикселях. Как только расстояние будет пройдено, Карусель начнет прокручиваться, и никакое сенсорное событие не перейдет к дочерним элементам. Рекомендуется, чтобы вы основывали это значение на dpi экрана вашего целевого устройства.scroll_timeout=200ms
— Тайм-аут, разрешенный для запуска scroll_distance, в миллисекундах. Если пользователь не переместил scroll_distance в течение тайм-аута, прокрутка не произойдет, и событие касания перейдет к дочерним элементам.slides
— Список слайдов внутри карусели
от