Android: Animated.View opacity does not animate from 1 when using the native driver
See original GitHub issueHello
For some reason, it seems that an Animated.View
does not animate opacity when the animated value starts from 1 when using the native driver. When using 1.1 or 0.9 (instead of exactly 1) - or when not using the native driver - the animation works fine.
Steps To Reproduce
- Have an animated value that goes from 1 to 0, as in the code below:
...
this.anim = new Animated.Value(1);
...
Animated.timing(this.anim, {
duration: Constants.animation.duration,
toValue: 0,
useNativeDriver: true,
}).start();
- Use the animated value as the opacity of an
Animated.View
. Something like:
<Animated.View style={{ opacity: this.anim }}>
<Text>{text}</Text>
</Animated.View>
I’d expect the Animated View to fade out when the animation runs, but no opacity change happens.
If a number larger or smaller than 1 is used, the animation works. Not reproducible on iOS.
Snack:
https://snack.expo.io/H1jsre_kB
React Native version:
info
React Native Environment Info:
System:
OS: macOS 10.14.5
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 91.55 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.16.0 - ~/.nvm/versions/node/v10.16.0/bin/node
Yarn: 1.16.0 - /usr/local/bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v10.16.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 23, 25, 26, 27, 28
Build Tools: 26.0.0, 26.0.2, 26.0.3, 27.0.3, 28.0.0, 28.0.2, 28.0.3
System Images: android-27 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.8 => 0.59.8
npmGlobalPackages:
react-native-cli: 2.0.1
Issue Analytics
- State:
- Created 4 years ago
- Reactions:3
- Comments:8 (2 by maintainers)
Top Results From Across the Web
Animations - React Native
Animations are very important to create a great user experience. ... The opacity property on the View is mapped to this animated value....
Read more >React-native Animation.event style property is not supported
The main limitation is that you can only animate non-layout properties, things like transform, opacity and backgroundColor will work but flexbox ...
Read more >Using 'useNativeDriver' in react-native animations effectively
The drawback of using 'useNativeDriver', is that it only supports things like transform and opacity. For example, we cannot use the native ......
Read more >Opacity - Master React Native Animations
Animating elements visible or animating them hidden. Opacity is a style property that is defined between 0 (meaning hidden) and 1 being completely...
Read more >How Animations Work in React Native - freeCodeCamp
React Native is a great framework that lets you create cross platform mobile applications. It's especially helpful if you're a web developer ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Hey guys, I created a PR to fix this bug. Comments/suggestions would be appreciated. https://github.com/facebook/react-native/pull/25361 Thank you.
@guiccbr @cabelitos So, this should be reopened since #25361 is reverted now
cc: @cpojer