如何垂直居中导航栏元素并删除右侧导航栏按钮?

时间:2016-10-16 22:22:05

标签: javascript react-native uinavigationbar react-jsx react-native-router-flux

我正在使用react-native-router-flux并设置了导航栏。目前,导航栏的样式高度低于默认高度,因此导航栏容器内的元素位于导航栏容器底部附近。

我试过navigationBarStyle={{backgroundColor: 'pink', height: 55, flex: 1, justifyContent: 'center'}}但仍然没有运气。

如何将导航栏中的元素垂直居中?

目前,右侧导航栏按钮Settings设置为导航至Settings组件。但是在Settings页面上,想要删除Settings右侧导航栏按钮。 我该怎么办?

以下是它的样子(带有粉红色背景的导航栏是容器,左侧抽屉按钮,场景标题(Home)和右侧的“设置”按钮靠近导航栏的底部):

enter image description here

以下是代码:

const RouterWithRedux = connect()(Router)
const store = configureStore()

export default class App extends Component {
  constructor() {
    super()
  }

  render() {

    return (
      <Provider store={store}>
        <RouterWithRedux>
          <Scene key='root'>
            <Scene component={Login} hideNavBar initial={true} key='login' sceneStyle={{backgroundColor: 'black'}} title='Login' type='reset'/>
            <Scene key='drawer' component={NavDrawer} open={false}>
              <Scene key="main" navigationBarStyle={{backgroundColor: 'pink', height: 55, flex: 1, justifyContent: 'center'}} onRight={() => Actions.settings()} rightTitle='Settings'>
                <Scene
                  component={Home}
                  initial={true}
                  key='home'
                  sceneStyle={{backgroundColor: 'black'}}
                  title='Home'
                  type='reset'
                />
                <Scene
                  component={Settings}
                  direction='vertical'
                  key='settings'
                  sceneStyle={{backgroundColor: 'black'}}
                  title='Settings'
                />
              </Scene>
            </Scene>
          </Scene>
        </RouterWithRedux>
      </Provider>
    )
  }
}

提前谢谢

1 个答案:

答案 0 :(得分:1)

您要找的是align-items: 'center'

https://developer.mozilla.org/en-US/docs/Web/CSS/align-items

navStyle: { backgroundColor: 'pink', height: 55, flex: 1, flexDirection: 'row', alignItems: 'center' }

使用检查器(模拟器中的命令+ d)将真正帮助您在您的react-native应用程序中调试未来的样式问题