美文网首页React Native学习react nativeReact Native开发
如何在react native中实现颜色渐变 - react

如何在react native中实现颜色渐变 - react

作者: mytac | 来源:发表于2017-10-25 10:30 被阅读3013次

安装

yarn add react-native-linear-gradient

react-native link react-native-linear-gradient

安装之后运行react-native run-android可能会报错,比如说我会报一个cannot delete [filename]之类的错误,把他说的那几个文件删了,再多run几次就成功了。

使用

// 引用官网的例子
import LinearGradient from 'react-native-linear-gradient';
// Within your render function
<LinearGradient colors={['#4c669f', '#3b5998', '#192f6a']} style={styles.linearGradient}>
  <Text style={styles.buttonText}>
    Sign in with Facebook
  </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',
  },
});
官网的例子

配置

color

数组。一定要提供给他不少于两个元素,比如['red','blue'],表示从红到蓝的渐变。

本例用colors={['#295cce', '#14b7e6', '#fff']}

start

对象。可选。格式为{x:number,y:number}。坐标从左上角开始,声明渐变开始的位置,作为渐变整体大小的一部分。示例:{x:0.1,y:0.1}表示梯度将从顶部开始为10%,从左侧开始为10%。

end

和start一样。是指渐变的结束。

举个例子,比如我们需要从右上角开始到左下角渐变,即对角线渐变,这时就需要设置

start={{x:1,y:0}}
end={{x:0,y:1}}
对角线渐变

locations

数组。可选。定义每个渐变颜色停止的位置,映射到颜色相同的索引颜色。例如:[0.1,0.75,1]表示第一种颜色将占0%-10%,第二种颜色将占据10%-75%,最终第三种色彩将占据75%-100%。

在上例的基础上,我们想让白色占比多一点,让他占50%,即从0.5到1这个区间都为白色,深蓝色和湖蓝色平分渐变这个区间。
locations就可以这样设置:

locations={[0, 0.25, 0.5]}
location例子

相关资料

react-native-linear-gradient 官方文档

相关文章

网友评论

    本文标题:如何在react native中实现颜色渐变 - react

    本文链接:https://www.haomeiwen.com/subject/nzzfpxtx.html