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閱讀 173,359評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,245評論 4 61
  • 寄一份甜美 給當年的狂歡調味 讓你知道 我除了不悔 還有溫柔 可以給 散一散酒味 說一聲久違 回憶都已就位 票根怎...
    段童閱讀 139評論 0 1
  • 現在談論著人工智能,具有劃時代的意義。這個意義在于智慧從生物向非生物的轉變。同時,隨著非生物智慧的產生,也許會推動...
    水墨藍的玻璃閱讀 988評論 0 0
  • 我們最大的錯誤,就是把最差的脾氣和最糟糕的一面都給了最親近的人,卻把耐心和寬容給了陌生人。 命中注定,在不懂愛的年...
    爾笙姑娘閱讀 1,811評論 0 3