如何使用 React Native 创建发光动画
Posted
技术标签:
【中文标题】如何使用 React Native 创建发光动画【英文标题】:How to create a glow animation with React Native 【发布时间】:2019-10-25 03:52:38 【问题描述】:我想为我的按钮和图像创建一个发光的动画。我想知道是否可以使用反应原生动画来实现这种发光效果。我有这种 css 风格,但我认为它不适用于 react native。关于如何为 react-native 或 react.js 中的按钮或图像执行此操作的任何想法?
.glow
font-size: 80px;
color: #fff;
text-align: center;
-webkit-animation: glow 1s ease-in-out infinite alternate;
-moz-animation: glow 1s ease-in-out infinite alternate;
animation: glow 1s ease-in-out infinite alternate;
@-webkit-keyframes glow
from
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
to
text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6;
【问题讨论】:
如果您找到任何东西,请告诉我:-) 【参考方案1】:我认为在 react native 中使用关键帧是不可用的,所以我实现了自己的解决方案:
this.state =
isBlinking: false
;
this.blinkingInterval = false;
componentWillUnmount()
clearInterval(this.blinkingInterval);
this.blinkingInterval = false;
componentDidMount()
if (!this.blinkingInterval)
this.blinkingInterval = setInterval(() =>
this.setState(
isBlinking: !this.state.isBlinking
);
, 800);
在渲染中:
<Text style=this.state.isBlinking && styles.textGlowing>Hello World</Text>
在css文件中:
textGlowing:
textShadowColor: 'rgba(0, 0, 0, 0.75)',
textShadowOffset: width: -1, height: 1,
textShadowRadius: 15
【讨论】:
以上是关于如何使用 React Native 创建发光动画的主要内容,如果未能解决你的问题,请参考以下文章
在 react-native-reanimated 中继续循环动画