RN-LayoutAnimation

LayoutAnimation,布局动画

当视图添加、删除、移动时,会显得很生硬,就是突然地出现效果。
使用LayoutAnimation就会在添加、删除、移动时,有一个过渡的动画效果。
使用很简单

if (Platform.OS === 'android') {
    UIManager.setLayoutAnimationEnabledExperimental(true)
}

第一种方法:LayoutAnimation.easeInEaseOut();

componentWillUpdate() {
  console.log('componentWillUpdate...');
  LayoutAnimation.spring();
  LayoutAnimation.easeInEaseOut();
  LayoutAnimation.linear();
}

第二种方法:LayoutAnimation.configureNext(config),自定义动画效果

componentWillUpdate() {
  console.log('componentWillUpdate...');
  LayoutAnimation.configureNext(config)
}

需要自定义config

var config = {
    duration: 800, // 动画时间
    create: {
    // spring,linear,easeInEaseOut,easeIn,easeOut,keyboard
      type: LayoutAnimation.Types.linear,
    // opacity,scaleXY 透明度,位移
      property: LayoutAnimation.Properties.opacity,
    },
    update: {
    // 更新时显示的动画
      type: LayoutAnimation.Types.easeInEaseOut,
    },
  };

注: 在 componentWillUpdate() 这里面写动画,当前所有页面的布局改变,都会有动画效果。如果只想某个动作改变布局需要动画效果,可以在调用方法的时候写

 <TouchableOpacity onPress = {()=>{
                        LayoutAnimation.spring();
                        this.setState({marginTop:this.state.marginTop + 100})
                    }}>
                        <Text>Text DOWN</Text>
</TouchableOpacity>
摘取网络图片.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,322评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,282评论 4 61
  • 寄一份甜美 给当年的狂欢调味 让你知道 我除了不悔 还有温柔 可以给 散一散酒味 说一声久违 回忆都已就位 票根怎...
    段童阅读 141评论 0 1
  • 现在谈论着人工智能,具有划时代的意义。这个意义在于智慧从生物向非生物的转变。同时,随着非生物智慧的产生,也许会推动...
    水墨蓝的玻璃阅读 1,001评论 0 0
  • 我们最大的错误,就是把最差的脾气和最糟糕的一面都给了最亲近的人,却把耐心和宽容给了陌生人。 命中注定,在不懂爱的年...
    尔笙姑娘阅读 1,816评论 0 3