Gradiente no React Native com LinearGradient
Este é um exemplo de uso do componente Linear Gradient no React Native com Expo.
Para aqueles que não têm ideia sobre Gradiente, Gradientes permitem exibir transições suaves entre duas ou mais cores especificadas. O gradiente pode ser de dois tipos:
- Gradientes lineares (vai para baixo / cima / esquerda / direita / diagonal)
- Gradientes radiais (definidos pelo centro)
Neste exemplo, veremos o gradiente linear. Para fazer um gradiente linear no React Native, usaremos o componente LinearGradient.
Como estou usando Expo, usarei expo-linear-gradient
. Isso é muito útil se você deseja criar um botão personalizado, ou um background com um efeito de curva ou qualquer fundo multicolorido.
Instalando o LinearGradient
Antes de começar a codar, vamos ver como instalar o componente LinearGradient. Como eu já disse, este exemplo foi feito com Expo. Então para instalar rode o comando abaixo:
expo install expo-linear-gradient
Gradiente simples
O trecho abaixo cria um exemplo de gradiente na vertical com duas cores. Você pode adicionar mais cores no array colors
para criar um gradiente diferente.
import { LinearGradient } from 'expo-linear-gradient';
...
<LinearGradient
style={{
height: 45,
width: 100,
marginTop: 15,
borderRadius: 5}}
colors={['#A62A5C','#6A2597']}>
</LinearGradient>
Gradiente horizontal
Agora usando o mesmo exemplo anterior, mas dessa vez o gradiente está na horizontal. Para colocar o gradiente nessa posição usamos as properties start
e end
.
import { LinearGradient } from 'expo-linear-gradient';
...
<LinearGradient
style={{
height: 45,
width: 100,
marginTop: 15,
borderRadius: 5}}
start={{x:0,y:1}}
end={{x:1,y:0}}
colors={['#A62A5C','#6A2597']}>
</LinearGradient>
Gradiente localizado
Usando o property locations
podemos mudar a posição do efeito de gradiente.
import { LinearGradient } from 'expo-linear-gradient';
...
<LinearGradient
style={{
height: 45,
width: 100,
marginTop: 15,
borderRadius: 5}}
start={{x:0,y:1}}
end={{x:1,y:0}}
locations={[.5,0.7]}
colors={['#A62A5C','#6A2597']}>
</LinearGradient>
Exemplo prático
Agora que vimos as principais funcionalidades do componente de gradiente, que tal conferir um exemplo de uso prático?
No meu GitHub tem esse repositório onde eu fiz esse modelo de tela de login da imagem acima usando LinearGradiente e mais algumas coisinhas. Confere lá para se aprofundar mais.
Concluindo
Neste pequeno tutorial, vimos os principais recursos do Componente LinearGradient e exemplos práticos de uso. Um componente muito fácil de usar e que melhora muito a qualidade das nossas interfaces se usado corretamente.
Dúvidas? deixe nos comentários e deixa eu te ajudar...