React Native动画的锚点anchorPoint
来源:互联网 发布:微信公众平台修改域名 编辑:程序博客网 时间:2024/06/06 03:18
在RN动画开发的过程中,有需求让图片绕中心点以外的其它点旋转,本以为是一个简单的问题,猜想Facebook应该有提供类似的API.
然而在官网找了一圈没有anchorPoint这个API,后来想了想,RN与H5非常像,应该有transformOrigin这个属性,然而,还是没有,在github的
issues中有人提问过什么时候更新这个属性,但是官网仍旧没有计划;
为了达到这种效果,其实有一种间接的方法:
transform:[ {translateY: -viewHeight/2}, {rotateX:this.state.transformView.interpolate({inputRange:[0,1], outputRange:['0deg','180deg']})}, {translateY:viewHeight/2} ]
就是在翻转的同时保持移动,移动的代码包裹着翻转的代码就可以了,这是一种比较取巧的方式,在Facebook没有更新前,可以用这种方法替代;
stackOverflow有类似的问题http://stackoverflow.com/questions/37165715/react-native-transforms-with-pivot-point,我已帮别人解决,下面的
代码会绕(0.5,0)的锚点旋转180°:
/** * Created by YQB on 16/9/14. */import React, {Component} from 'react';import {StyleSheet,View,Animated,Easing,Image} from 'react-native';var dimensions = require('Dimensions') ;var bgHeight = dimensions.get('window').height;var bgWidth = dimensions.get('window').width;var viewHeight = 100;class RotaTest extends Component { constructor(props) { super(props); this.state = { transformView: new Animated.Value(0), }; } componentDidMount() { Animated.timing(this.state.transformView,{toValue:1,duration:1000}).start(); } render() { return( <View style={{flex:1}}> <View style={layouts.lineLayout}/> <Animated.View style={[layouts.bgViewLayout,{transform:[ {translateY: -viewHeight/2}, {rotateX:this.state.transformView.interpolate({inputRange:[0,1], outputRange:['0deg','180deg']})}, {translateY:viewHeight/2} ]}]}/> <View style={layouts.bgLayout}> <Image style={layouts.imageLayout} source={require('./redPocket/icon_redbaghead@2x.png')}/> </View> </View> ); }}const layouts = StyleSheet.create({ bgViewLayout:{ width:bgWidth * 0.3, height:viewHeight, top: 100, left:100, backgroundColor:'red', shadowColor:'gray', shadowOffset:{width:1,height:0}, shadowRadius:10, shadowOpacity:0.8 }, lineLayout:{ width:bgWidth, height:0.5, top:100, backgroundColor:'black' }, bgLayout:{ width:100, height:100, top:250, left:50, backgroundColor:'green', overflow:'hidden' }, imageLayout:{ width:100, height:200, top:-100, left:0 }});export default RotaTest;
0 0
- React Native动画的锚点anchorPoint
- react-native动画的坑
- 锚点(anchorPoint)
- 锚点(anchorPoint)
- 锚点[AnchorPoint]
- iOS AnchorPoint锚点
- React Native 之 动画
- 详解React Native动画
- 详解React Native动画
- [React Native]动画-LayoutAnimation
- [React Native]动画-Animated
- React Native动画-Animated
- React Native LayoutAnimation动画
- React Native Animated动画
- react-native-动画
- React Native 动画 ---Animated
- react native动画
- 一起来点React Native
- View的工作流程
- ACCESS里的对象
- SharedPreferences
- 程序员的成长阶梯和级别定义
- 一个比较奇葩的bug
- React Native动画的锚点anchorPoint
- Storm 使用经验与性能优化(二)
- Mybatis物理分页插件报错: duplicate column ‘xxx'的原因分析与解决
- 分享微信微博脚本
- git基础详解
- nodejs中request模块proxy的使用方法
- Android Studio中依赖库的本地存储位置
- html下拉框,显示隐藏其他控件
- css3 rgba 高级用法