如何设置react-native-router-flux的样式?

时间:2017-08-15 02:25:41

标签: react-native react-native-router-flux

我正在使用react-native-router-flux 4.0.0-beta.17作为我的学习项目。我需要自定义标题。例如背景颜色,标题对齐等。我无法找到关于它的好文档。其中一个有类似

的东西
 <Router sceneStyle={{backgroundColor: '#81b71a'}}>
     <Scene key="root">
        <Scene key='login' component={LoginForm} title='Please Login :)' />
     </Scene>
 </Router>

但它没有做任何事情。

请给我一些关于好文档的参考,如果可能的话,请给我一些关于如何设置路由器样式的信息。我在哪里可以找到一份全面的文件?

5 个答案:

答案 0 :(得分:12)

sceneStyle道具用于设置所有RNRF场景/屏幕的样式,这是屏幕的内容部分(标题下方)。如果要为所有RNRF场景标题提供自定义样式,则必须在RNRF路由器组件中使用navigationBarStyle个道具。

<Router navigationBarStyle={{ backgroundColor: '#81b71a' }}>
  <Scene key="root">
    <Scene key='login' component={LoginForm} title='Please Login :)' />
  </Scene>
</Router>

如果我使用它,下面是一个快照示例。

enter image description here

参考:https://github.com/aksonov/react-native-router-flux/blob/master/docs/API.md

答案 1 :(得分:6)

您可以使用hideNavBar={true}隐藏默认标头,并使用您自己的标头组件来获得完全可自定义的标头。通过这种方式,您可以使用UI组件包的标头组件,如native-base

答案 2 :(得分:3)

也许您可以关注此reference,这可能是您的问题,因为放置样式是不对的,因为如果您想更改标题背景颜色,可以使用navigationBarStyle而不是{{1}像这样:

sceneStyle

我希望这个参考可以帮助你。

答案 3 :(得分:0)

Router中的sceneStyle属性是一种应用于所有场景的样式,这是完全可选的。

<Router sceneStyle={{ backgroundColor: '#81b71a' }}>
  <Stack key="root">
    <Scene key='sample page' component={Sample} title='Sample Page'/>
  </Stack>
</Router>

这将给出如下结果:

enter image description here

您可以使用@wlisrausr在上文提到的路由器中使用navigationBarStyle道具

<Router navigationBarStyle={{ backgroundColor: '#81b71a' }}>
      <Stack key="root">
        <Scene key='sample page' component={Sample} title='Sample Page'/>
      </Stack>
    </Router>

这将给出结果:

navigationBarStyle

答案 4 :(得分:0)

通过以下方式轻松更改标题栏文本样式的方法:react-native-router-flux

<Scene key="myJobs"
  title={'My Listings'}
  iconName="myJobs"
  hideNavBar={false}
  component={MyJobs}
  titleStyle={{
    color: '#ffffff',
    fontSize: 22,
    fontFamily: FontFamilyBold,
    fontWeight: '700',
    justifyContent: 'center',
    marginLeft: 30,
  }}
/>