react native expo 如何让文字产生线性渐变

首先下载 线性渐变的按钮插件

npx expo install expo-linear-gradient

然后再要使用的页面进行引用就可以了,

import { LinearGradient } from 'expo-linear-gradient';

官方的链接在这里相关属性可以自己去查询
下面是一个简单的例子

import * as React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { LinearGradient } from 'expo-linear-gradient';

export default function App() {
  return (
    <View style={styles.container}>
      <LinearGradient
        // Background Linear Gradient
        colors={['rgba(0,0,0,0.8)', 'transparent']}
        style={styles.background}
      />
      <LinearGradient
        // Button Linear Gradient
        colors={['#4c669f', '#3b5998', '#192f6a']}
        style={styles.button}>
        <Text style={styles.text}>Sign in with Facebook</Text>
      </LinearGradient>
    </View>
  );
}

const styles = StyleSheet.create({ ... }); 

以上我们就实现了一个线性渐变的方块,但怎样实现一个线性渐变的文字呢?这里我们就需要另外一个插件 MaskedView这是它官方描述的链接
可以通过以下方法来进行插件的下载

npx expo install @react-native-masked-view/masked-view

通过如下声明你就可以去想要的声明重使用了

import MaskedView from '@react-native-community/masked-view';

下面是一个简单的线性渐变文字例子

<MaskedView
                      style={{ height:50,marginTop:120,left:30}}
                      maskElement={
                        <View>
                           <Text style={{ fontSize: 30,fontWeight:'700' }}>0123456789</Text>
                        </View>
                    
                         }
                      >
                        <LinearGradient
                          colors={['#ABABAB', '#F4F4F4','#909090', '#F4F4F4']}
                          start={{ x: 0, y: 0 }}
                          end={{ x: 0, y: 0.7 }}
                          style={{ flex: 1 }}
                        />
                      </MaskedView>

相关的属性我就补一一介绍了,大家可以自行搜索,对了,这样使用后如果你线性渐变的文字想要修改其字体样式会出现找不到字体样式的问题,我暂时找不到解决办法,如果又小伙伴又解决方法欢迎留言告诉我,感谢

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐