React原生导航器动画不会翻译整个设备宽度

时间:2015-12-04 23:19:18

标签: animation react-native

我在Android上运行了一个带有Navigator组件的React Native应用程序。我发现当在场景之间转换时,动画只翻译了设备宽度的1/3左右。我在NavigatorSceneConfigs https://github.com/facebook/react-native/blob/v0.15.0/Libraries/CustomComponents/Navigator/NavigatorSceneConfigs.js中看到该库正在使用报告411.42857的设备的尺寸....我在Nexus 6上运行它,报告的PixelRatio为3.5。这些数字似乎是正确的,因为相乘这些数字会使设备的分辨率达到1440。

我已经检查过导航器和场景是否正在填充整个设备宽度。我原以为它可以翻译设备的整个宽度。我错过了什么配置或错过了怎么理解Navigator动画的内容?

class Root extends Component{
  render() {
     const routes = []
     routes.push({
        title: 'first'
     })
     routes.push({
        title: 'second'
     })
     return (
        <View style={{flex:1, backgroundColor: "transparent"}}>
           <Navigator style={{flex:1, backgroundColor: 'red'}}
                      initialRouteStack={routes}
                      sceneStyle={{flex:1}}
                      renderScene={(route, navigator) =>
              <View style={{flex: 1, backgroundColor:'transparent'}}>
                 <Text>{route.title}{Dimensions.get('window').width} {PixelRatio.get()}</Text>
              </View>
           }
           />
        </View>
     );
  }

}

AppRegistry.registerComponent('Seed', () => Root);

1 个答案:

答案 0 :(得分:1)

这是ReactNative 0.14和0.15的错误。我已经测试了0.16并且它已经修复了。 unittest.mock.patch