如何在文本下方的灰色反应导航线中放入我的抽屉回声?

问题描述 投票:1回答:2

我想做这样的事情,我唯一需要知道的是如何使每个组件下面出现的灰线。顺便说一下,我正在使用反应导航。这是我想要重新创建的,我只需要知道如何制作中间灰线。 Link the Image

我的鳕鱼:

    const DrawerNavigator = createDrawerNavigator({
    Example: ScreenExample
},
{
    contentComponent: CustomDrawerContentComponent,
    drawerWidth: width * 0.63,
    contentOptions: {
      activeTintColor: blue,
      inactiveTintColor: "rgb(105,105,104)",
      itemsContainerStyle: {
        textAlign: "center"
      },
      labelStyle: {
        fontFamily: "RobotoCondensed-Regular",
        fontWeight: "400",
        fontSize: 17,
        marginLeft: -5
      }
    },
    iconContainerStyle: {
      opacity: 1
    }
  }

const CustomDrawerContentComponent = props => (
  <SafeAreaView
    style={{ flex: 1, backgroundColor: white }}
    forceInset={{ top: "never" }}
  >
    <SafeAreaView style={{ flex: 0, backgroundColor: "rgb(63,103,149)" }} />
    <View
      style={{
        alignItems: "center",
        backgroundColor: "rgb(63,103,149)",
        shadowOpacity: 0.3,
        shadowOffset: {
          height: 5
        }
      }}
    >
      <Image
        source={require("./src/assets/Icon-Transparente.png")}
        style={{ height: 150, width: 150 }}
        resizeMode="contain"
      />
    </View>
    <ScrollView>
      <DrawerItems {...props} />
    </ScrollView>
</View>
  </SafeAreaView>
javascript react-native react-navigation
2个回答
1
投票

只需创建一个这样的通用组件,

import * as React from 'react';
import { View, StyleSheet } from 'react-native';
export default class UnderlinedComponent extends React.Component {
  render() {
    return (
      <View style={{ borderWidth: 1, borderBottomColor: 'grey' }}>
        {this.props.children}
      </View>
    );
  }
}

并像这样使用它,

<UnderlinedComponent> 
   <Text></Text>
</UnderlinedComponent >
<UnderlinedComponent> 
   <Button></Button>
</UnderlinedComponent >

这只会创建一个底部边框,您可以根据需要自定义它。

如果你不知道如何在抽屉里使用contentComponent。只是see this


0
投票

我找到了我正在寻找的答案:https://reactnavigation.org/docs/en/drawer-navigator.html#contentoptions-for-draweritems我发现抽屉里面有一个名为itemStyle的属性并使用它如下itemStyle:{borderBottomWidth:0.5,borderBottomColor:gray},将其添加到contentOptions我可以创建项目下面的行:)

© www.soinside.com 2019 - 2024. All rights reserved.