Давайте добавим цветов в наше приложение…

Градиенты добавляют современный вид вашим мобильным приложениям, особенно фонам кнопок.

Чтобы добавить это, мы будем использовать react-native-linear-gradient, потому что он полностью разработан для градиентов, легкий и позволяет использовать эффекты градиента как сверху-снизу, так и слева-направо. Pod 'BVLinearGradient',: путь = '../node_modules/react-native-linear-gradient'

Для установки библиотеки запустите

npm install react-native-linear-gradient --save

и для iOS:

$ cd ios && pod install && cd ..

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

Теперь приступим к программированию…

импортировать библиотеку в свой файл:

import LinearGradient from 'react-native-linear-gradient';
// Within your render function
<LinearGradient colors={['#4c669f', '#3b5998', '#192f6a']} style={styles.linearGradient}>
<Text style={styles.buttonText}>
    My Gradient Button
</Text>
</LinearGradient>
...

// Later on in your styles..
var styles = StyleSheet.create({
linearGradient: {
flex: 1,
paddingLeft: 15,
paddingRight: 15,
borderRadius: 5
},
buttonText: {
fontSize: 18,
fontFamily: 'Gill Sans',
textAlign: 'center',
margin: 10,
color: '#ffffff',
backgroundColor: 'transparent',
},
});

Приведенный выше код добавит верхний и нижний градиент оттенков синего к тексту в стиле кнопки. Все очень просто: вам нужно просто передать массив цветов, в которых вы хотите использовать градиент.

Это было легко, теперь посмотрим, что мы можем сделать, если нам понадобится левый-правый или наоборот. Для этого LinearGradient дайте нам свойство start и end, где вы можете определить ось.

//in return statement
<TouchableOpacity
style={{height: '100%'}}
activeOpacity={0.9}
onPress={() => console.log('Beep Beep')}
style={ width: 312,
height: '17.5%',
marginBottom: '3%'
}>
<LinearGradient
start={{x: 1, y: 0}} //here we are defined x as start position
end={{x: 0, y: 0}} //here we can define axis but as end position
colors={['#3393E4', '#715886']}
style={{
height: '100%',
justifyContent: 'center',
alignItems: 'center',
borderRadius: 5,
}}>
<Text> Log in </Text>
</LinearGradient>
</TouchableOpacity>

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

И это конец. Если возникнут трудности, напишите мне. Если вам понравилась статья «Дай пять», я имею в виду «аплодисменты»!