question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Android: Animated.View opacity does not animate from 1 when using the native driver

See original GitHub issue

Hello

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

  1. 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();
  1. 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:closed
  • Created 4 years ago
  • Reactions:3
  • Comments:8 (2 by maintainers)

github_iconTop GitHub Comments

3reactions
cabelitoscommented, Jun 22, 2019

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.

1reaction
sintylapsecommented, Jul 31, 2019

@guiccbr @cabelitos So, this should be reopened since #25361 is reverted now

cc: @cpojer

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found