如何在反应导航中使抽屉位于标题上方?

阿伦·库玛

我正在使用反应导航。我想在屏幕的标题上方显示抽屉。当前,当我打开抽屉时,标题没有隐藏在抽屉下方。

import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { createStackNavigator, createDrawerNavigator  } from 'react-navigation';
import CategoryScreen from './CategoryScreen';
import ProductsScreen from './ProductsScreen';
import CartScreen from './CartScreen';


const drawerScreens = createDrawerNavigator ({
    Category: CategoryScreen,
    Products: ProductsScreen,
},{
    initialRouteName: 'Category'
}
)


export default AppStack = createStackNavigator(
    { 
        drawer: {
            screen: drawerScreens,
            navigationOptions: ({ navigation }) => ({
                header: <View style={styles.container}><Text>Header</Text></View>
              }),
        }, 
        cart: {screen: CartScreen} 
    },
    {
        initialRouteName: 'drawer',
    }
);

const styles = StyleSheet.create({
    container: {
        height: 100,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: 'orange',
    }
})

因此,如何显示与抽屉导航重叠或覆盖的标题。

目前看起来像这样

在此处输入图片说明

usergio2
  1. 您应该为CategoryScreen创建一个新的StackNavigatorProductScreen
  2. 您设置标题CategoryScreenProductScreen导航选项

这就是我的意思

// wrap your screen inside the drawer into StackNavigator
const CategoryNavigator = createStackNavigator({
  CategoryList: {
    screen: CategoryScreen,
    navigationOptions: {
      title: "Category",
      header: // any custom header here
    }
  },
});

const drawerScreens = createDrawerNavigator({
  Category: CategoryNavigator,
  Products: ProductNavigator,
}, {
  initialRouteName: 'Category'
})


export default AppStack = createStackNavigator({
  drawer: {
    screen: drawerScreens,
  },
  cart: {
    screen: CartScreen
  }
}, {
  initialRouteName: 'drawer',
});

这是结果

嵌入式StackNavigator

以下将创建一个浮动标题,该标题与您的屏幕截图相似

设置页眉模式float(你不需要包装CategoryScreenProductScreenStackNavigator

export default AppStack = createStackNavigator({
  drawer: {
    screen: drawerScreens,
  },
  cart: {
    screen: CartScreen
  }
}, {
  headerMode: 'float', // set this header mode to float so you can share the header
  initialRouteName: 'drawer',
});

这是将标题模式更改为float时的结果 浮头

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在标题上方滑动移动导航

反应导航-如何在标题NavigationOptions中使用this.state?

如何在标题上对齐标题和导航?

如何在导航抽屉中更改标题

如何跳过或忽略标题上方的行?

如何在反应导航中检测何时打开抽屉?

如何在抽屉导航中创建菜单图标?反应本机

如何在我的反应导航抽屉中隐藏链接?

如何在反应中打开和关闭物料导航抽屉

如何在抽屉导航器中添加自定义抽屉,反应导航4.x?

如何在Android导航抽屉中更改标题箭头图标

如何在导航抽屉标题中更改TextView的文本?

如何在导航抽屉布局中添加图像标题

如何在Android的导航抽屉中添加标题

如何在导航抽屉中为标题添加图标?

如何在标题上方的左上角制作徽标并修复

如何删除常规标题上方的烦人标题?

如何使底部导航上方的抖动抽屉

如何在反应导航中隐藏标签导航的标题?

如何在标题上创建标题

如何在React Native中使用抽屉导航器?

选择后如何在导航抽屉中使文本变为粗体?

如何在导航抽屉中使用视图寻呼机?

如何将UIView放在UITableView的节标题上方?

如何在本机反应的默认标题上为左后退按钮提供更多空间?

导航抽屉如何在列表视图上方添加图像视图

如何在反应导航中从抽屉堆栈导航到开关堆栈?

反应导航:如何在所有屏幕中显示导航抽屉?

在React Native中如何在嵌套堆栈导航中的标题上添加按钮