如何在React-Native上不使用插值方法平滑旋转线

时间:2019-05-20 11:22:15

标签: javascript react-native

我在屏幕中间有一条线,该线可以与加速度计一起使用,并且可以移动该顶部或底部并可以旋转。我正在使用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`}]}} />}
...
);
  }

我正在寻找一些可以使用的工作包或解决此问题的方法。

2 个答案:

答案 0 :(得分:0)

尝试一下:

toUpperCase

希望对您有帮助。

答案 1 :(得分:0)

我通过插值和Animated API解决了这个问题。 虽然看起来很奇怪,但是有效;)