我在屏幕中间有一条线,该线可以与加速度计一起使用,并且可以移动该顶部或底部并可以旋转。我正在使用LayoutAnimation,但似乎此方法不允许我平滑地旋转线条,它与'top'属性配合得很好,但不适用于旋转
我尝试安装react-native-canvas,但是此软件包完全破坏了我的应用程序,因此我必须重新创建它; D(它使我生气)。 我也尝试用插值法制作此动画,但似乎在固定角度上工作并且看起来很奇怪
componentDidMount(){
setUpdateIntervalForType(SensorTypes.accelerometer, 150);
const subscription = accelerometer.subscribe(({ x, y, z }) =>{
let d = getAngles(x,y,z);
this.updateValues(d.roll,d.pitch);
}
);
}
updateValues(roll,pitch){
LayoutAnimation.configureNext(CustomLayoutAnimation)
this.setState({roll,pitch})
}
render() {
return (
...
{<View style={{position:"relative",top:calculateOffset(this.state.roll,this.state.screenOffset)+"%",width:"80%",height:4,backgroundColor:"orange",transform:[{rotate:`${this.state.pitch}deg`}]}} />}
...
);
}
我正在寻找一些可以使用的工作包或解决此问题的方法。
答案 0 :(得分:0)
尝试一下:
toUpperCase
希望对您有帮助。
答案 1 :(得分:0)
我通过插值和Animated API解决了这个问题。 虽然看起来很奇怪,但是有效;)