使用React Native LayoutImation设置ListView行删除的动画
我无法使用LayoutImation设置从ListView中删除行的动画 由于layoutimation.spring预设动画使用spring和淡入淡出的视图创建来处理视图更新,因此我希望在删除后,底部现有行会向上弹出。相反,它们逐渐消失 使用RN 0.18.1使用React Native LayoutImation设置ListView行删除的动画,listview,animation,react-native,layout-animation,Listview,Animation,React Native,Layout Animation,我无法使用LayoutImation设置从ListView中删除行的动画 由于layoutimation.spring预设动画使用spring和淡入淡出的视图创建来处理视图更新,因此我希望在删除后,底部现有行会向上弹出。相反,它们逐渐消失 使用RN 0.18.1 let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); var movies = [movie1, movie2, movie3, mov
let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
var movies = [movie1, movie2, movie3, movie4, movie5];
...
renderRow(row) {
return <MovieRow key={row.movieId} />
}
...
// immutable delete of element in reducer (redux)
movies = movies.slice(0, 2).concat(movies.slice(3));
...
LayoutAnimation.spring();
this.setState({
dataSource: ds.cloneWithRows(movies)
});
let ds=new ListView.DataSource({rowHasChanged:(r1,r2)=>r1!==r2});
var movies=[movie1,movie2,movie3,movie4,movie5];
...
渲染箭头(世界其他地区){
返回
}
...
//reducer中元素的不可变删除(redux)
movies=movies.slice(0,2).concat(movies.slice(3));
...
layoutimation.spring();
这是我的国家({
数据源:ds.cloneWithRows(电影)
});
似乎LayoutImation还不支持删除
注意:布局动画用于创建和更新布局事件。尚不支持删除。请注意,当删除圆时,没有动画
选中此项:
编辑:
现在支持删除:
安卓系统:
iOS:最新的
react native
已经支持删除动画。我做了这样的事情:
const CustomLayoutLinear = {
duration: 300,
create: {
type: LayoutAnimation.Types.easeInEaseOut,
property: LayoutAnimation.Properties.opacity
},
update: {
type: LayoutAnimation.Types.easeInEaseOut
},
delete: {
type: LayoutAnimation.Types.easeInEaseOut,
property: LayoutAnimation.Properties.opacity
}
};
只有“创建”或“删除”将触发不透明度的向内和向外缓和。只需执行easeIn和easeout即可更新组件
然后在安装组件时钩住customLayoutLinear
LayoutAnimation.configureNext(CustomLayoutLinear);
现在看来是这样!(但我还不能测试它…)删除似乎是受支持的,但我似乎无法使它工作。谁知道这是怎么回事?