繁体   English   中英

如何在反应导航中使用 header 将图像设置为全尺寸屏幕?

[英]How to set Image to take the full size screen with header in react navigation?

我的屏幕包含图像,我想用 header 拍摄全尺寸屏幕?

I just use position: "absolute" but it's not working to wrap the header, and I can't use header: null because I want the back button to appear!

那么我该如何处理呢?

我得到了什么

bg

我想要的是

bg2

提前致谢。

您可以通过添加属性headertransparent使 header 对于特定屏幕透明

尝试这个

 static navigationOptions = {
    headerTransparent: true,
  };

完整的示例代码

import React from "react";
import { View, Dimensions, Image } from "react-native";
import { createAppContainer, createStackNavigator } from "react-navigation";
import { Text } from "react-native";

const { width } = Dimensions.get("window");

class HomeScreen extends React.Component {
  static navigationOptions = {
    title: "Home"
  };

  render() {
    return (
      <View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
        <Text
          style={{ padding: 20 }}
          onPress={() => this.props.navigation.navigate("Detail")}
        >
          Send To Detail
        </Text>
      </View>
    );
  }
}

class DetailScreen extends React.Component {
  static navigationOptions = {
    headerTransparent: true,
    headerTintColor: "#fff"
  };

  render() {
    return (
      <View style={{ flex: 1 }}>
        <Image
          style={{ width: width, height: 400 }}
          source={{
            uri:
              "https://media.gettyimages.com/photos/different-types-of-food-on-rustic-wooden-table-picture-id861188910?s=2048x2048",
            cache: "force-cache"
          }}
        />
      </View>
    );
  }
}

const AppNavigator = createStackNavigator({
  Home: {
    screen: HomeScreen
  },
  Detail: {
    screen: DetailScreen
  }
});

export default createAppContainer(AppNavigator);


应用演示

在此处输入图像描述

在 header { position: 'absolute', zIndex: 100, top: 0, left: 0, right: 0, elevation: 0, shadowOpacity: 0, borderBottomWidth: 0 }

您需要隐藏 header,如果您使用反应导航,您可以添加navigationOptions以添加隐藏 header 的属性,就像这些行。

static navigationOptions = {
    headerShown: false
  };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM