【ReactNative】コスパ良くクオリティ上げるならとりあえずLayoutAnimation入れとこ
苦労せずになんとなーくアプリのクオリティを上げたいあなたにおすすめです。
Animationを適用したいScreenのcomponentWillUpdate
にでも書いておきます。
import { LayoutAnimation } from 'react-native' --------------------------------------------- componentWillUpdate() { LayoutAnimation.easeInEaseOut() }
↓は開発中のアプリに適用してみた例。 「パッ」じゃなくて「フワッ」っとなってる感じ。。。わかるかな?w
アニメーションのオプションは
- easeInEaseOut
- linear
- spring
があるみたいなので、全部試して好みを見つけると良さそうです。
個人的にはScreenに適用するならeaseInEaseOut
一択です。
こんな感じでもっとかっちょいいアニメーションにもできる。
LayoutAnimation.configureNext({ duration: 700, create: { type: 'linear', property: 'opacity', }, update: { type: 'spring', springDamping: 0.4, property: 'scaleXY', }, delete: { type: 'linear', property: 'opacity', }, })
※参考: https://blog.callstack.io/react-native-animations-revisited-part-i-783143d4884
僕はそんなに凝れないので極力やらないが、
onPress()なんかの最初に書いておいて発火されるたびにAnimationをかけることもできる。
※参考: rskull.hateblo.jp
特別な理由がなければ、ほぼ全てのScreenに入れて良いはず。 これ入れとくだけで「あ、ちゃんと凝ってんな」って思われそう。