如何隐藏下的反应,导航头的影子?

问题描述 投票:11回答:9

如何隐藏下的反应,导航头的影子? 他们是这样的。 enter image description here

react-native react-navigation
9个回答
16
投票

添加以下到navigationOptions标题样式。

const AppNavigation = StackNavigator(
  {
    'The First Screen!': { screen: FirstScreen },
  },
  {
    navigationOptions: {
      header: {
        style: {
          elevation: 0, // remove shadow on Android
          shadowOpacity: 0, // remove shadow on iOS
        },
      },
    },
  },
);

该文档是不是很大,但你可以了解在React Navigation Docs navigationOptions。


11
投票

对我来说,以下的作品与原始样式表使用"borderBottomWidth" on iOS

const navigator = StackNavigator(screens, {
  navigationOptions: {
    headerStyle: {
      elevation: 0,
      shadowOpacity: 0,
      borderBottomWidth: 0,
    }
  }
});

6
投票

我不知道这个答案会是多么重要,但分享我的代码,让你知道,这很适合我的反应,导航版本:3.9.1

const AppNavigation = StackNavigator(
{
  FirstScreen,
},
{
 defaultNavigationOptions: {
  headerStyle: {
    elevation: 0, //for android
    shadowOpacity: 0, //for ios
    borderBottomWidth: 0, //for ios
  },
},
})

3
投票

这对我的作品:

export const AppNavigator = StackNavigator(
    {
      Login: { screen: LoginScreen },
      Main: { screen: MainScreen },
      Profile: { screen: ProfileScreen },
    },
    navigationOptions: {
        headerStyle: {
            elevation: 0,
            shadowOpacity: 0,
        }
    }
);

要么

export const AppNavigator = StackNavigator(
    {
      Login: { screen: LoginScreen },
      Main: { screen: MainScreen },
      Profile: { screen: ProfileScreen },
    },
    header: {
        style: {
            elevation: 0, //remove shadow on Android
            shadowOpacity: 0, //remove shadow on iOS
        }
    }
);

2
投票

尝试通过cardStyle: { shadowColor: 'transparent' }

export const AppNavigator = StackNavigator(
{
  Login: { screen: LoginScreen },
  Main: { screen: MainScreen },
  Profile: { screen: ProfileScreen },
},
cardStyle: { shadowColor: 'transparent' }

按这个问题React Navigation Stack Navigator default shadow styling


1
投票

我一直在试图解决这个问题,在过去的几个小时,终于找到了解决办法。在我的情况的问题是,头部是比其他部件的其余部分不同的Z位置。

尝试:

const styles = {
  headerStyle: {
    zIndex: 1
  }
}

1
投票

截至2019这个答案并不在3版本。

这样做的新方法是:


const AppNavigation = StackNavigator(
  {
    'The First Screen!': { screen: FirstScreen },
  },
  {
    defaultNavigationOptions: {
      headerStyle: {
        elevation: 0,
        shadowOpacity: 0,
      },
    },
  },
);


0
投票

你可以试试这个,它为我工作!

export const SignedOut = StackNavigator({
  SignIn: {
    screen: SignInScreen,
    navigationOptions: {
      title: "SignIn",
      headerStyle: {
        shadowOpacity: 0, // This is for ios
        elevation: 0 // This is for android
      }
    }
  }
});

0
投票

阴影是通过抬高,利用实现:

 headerStyle: {
     backgroundColor: 'white',
     shadowColor: 'transparent',
     elevation: 0,
 },
© www.soinside.com 2019 - 2024. All rights reserved.