Swiper

O Swiper cria componentes "deslizáveis" dentro de uma aplicação. Pode ser implementado de 2 formas: children ou renderItems

Exemplo com children

Por esse método, o swiper cria os "deslizáveis" a partir dos componentes filhos passados como children

Visualização

swiper

Fonte

import { Swiper } from '@platformbuilders/fluid-react-native';
.
.
.
<Swiper accessibility={'swiper com children'}>
<SwiperItem>
<Title>Swiper Example 1</Title>
</SwiperItem>
<SwiperItem>
<Title>Swiper Example 2</Title>
</SwiperItem>
<SwiperItem>
<Title>Swiper Example 3</Title>
</SwiperItem>
</Swiper>

Exemplo com renderItems

Por esse método, o swiper cria os "deslizáveis" a partir de um array de dados e a função renderItem similar ao usado na FlatList.

Visualização

swiper

Fonte

import { Swiper } from '@platformbuilders/fluid-react-native';
import { ListRenderItem } from 'react-native';
.
.
.
const renderItem: ListRenderItem<string> = ({ item }) => {
return (
<SwiperItem>
<Title>{item}</Title>
</SwiperItem>
);
};
return (
<Swiper
accessibility={'swiper com renderItems'}
data={[
'Swiper Example RenderItems 1',
'Swiper Example RenderItems 2',
'Swiper Example RenderItems 3',
]}
renderItem={renderItem}
/>
);

Exemplo com Pagination (SwiperPagination)

O Swiper disponibiliza um componente padrão de paginação, o SwiperPagination, sendo exibido ao passar a prop showPagination={true} Sua estilização pode ser feita de 2 formas, usando props de estilização diretamente no componente de Swiper ou criando um componente de Paginação customizável utilizando o SwiperPagination. No exemplo é possível obter o mesmo resultado das duas formas citadas.

Visualização

swiper_pagination

Fonte

import {Swiper, SwiperPagination, SwiperPaginationProps } from '@platformbuilders/fluid-react-native';
.
.
.
// Utilizando props do Swiper
<Swiper
accessibility="swiper com pagination"
showPagination={true}
paginationActiveColor="red"
paginationDefaultColor="blue"
paginationStyleItem={{
width: 8,
height: 8,
}}
paginationStyleItemActive={{
width: 20,
height: 8,
}}
/>
// Utilizando componente Customizável
const PaginationCustom = (paginationProps: SwiperPaginationProps) => {
return (
<SwiperPagination
{...paginationProps}
paginationActiveColor="red"
paginationDefaultColor="blue"
paginationStyleItem={{
width: 8,
height: 8,
}}
paginationStyleItemActive={{
width: 20,
height: 8,
}}
/>
);
};
return (
<Swiper
accessibility="swiper com pagination custom"
PaginationComponent={PaginationCustom}
showPagination={true}
.
.
.

Atributos

FormatoConceitoTipo
accessibilityAqui é declarada a acessibilidade.string
idID do componente.string
accessibilityLabelDefine a palavra de acessibilidade.string
children?Elementos filhos do componente.React.ReactNode
renderItemObtém um item da prop data e renderiza em uma listaFlatListProps['renderItem']
onMomentumScrollEndChamado após o fim do scroll e retorna o índice atual(item: { index: number }, event: any)
verticalExibe um swiper vertical (Não funciona no Android)boolean
indexPosição em que o Swiper inicianumber
renderAllRenderiza todos os itens antes de serem exibidosboolean
showPaginationExibe paginaçãoboolean
paginationDefaultColorCor da paginação inativastring
paginationActiveColorCor da paginação ativastring
paginationStyleDefine estilo para o containerStyleProp< ViewStyle >
paginationStyleItemDefine estilo para o dotStyleProp< ViewStyle >
paginationStyleItemActiveDefine estilo para o dot ativoStyleProp< ViewStyle >
paginationStyleItemInactiveDefine estilo para o dot inativoStyleProp< ViewStyle >
onPaginationSelectedIndexExecutado quando o usuário pressiona o índice de paginação() => void
PaginationComponentComponente de paginação customizadoSwiperPagination
autoplayMuda a página atual automáticamente*boolean**
autoplayDelayTempo de espera entre cada páginanumber
autoplayLoopVolta para página inicial após última páginaboolean
autoplayLoopKeepAnimationExibe animação quando chega ao fim da listaboolean
autoplayInvertDirectionInverte direção da troca de páginas automáticaboolean
disableGestureDesativa o gesto de deslizarboolean
key?Define a chave do componente.number, string
style?Define estilo para o swiperStyleProp< ViewStyle >
testID?ID do componente quando utilizada em testes.string

Funções

Funções disponíveis a partir da referência do componente de Swiper.

Fonte

import { Swiper, SwiperRefProps } from '@platformbuilders/fluid-react-native';
.
.
.
const swiperRef = useRef<SwiperRefProps>(null);
return (
<Swiper
accessibility='swiper_com_ref'
swiperRef={swiperRef}
.
.
.
/>

Atributos

FormatoConceitoTipo
scrollToIndexScroll para posição({ index: number, animated?: boolean}) => void
getCurrentIndexRetorna a posição atual() => number
getPrevIndexRetorna a posição anterior() => number
onChangeIndexExecutado toda vez que a posição muda, a posição muda quando o usuário atinge 60% da próxima tela({ index: number, prevIndex: number}) => void
goToFirstIndexMove para primeira posição() => void
goToLastIndexMove para última posição() => void