如何在React Navigation中将Image设置为带标题的全尺寸屏幕?

时间:2019-09-24 01:18:39

标签: javascript reactjs react-native react-navigation react-native-ios

我的屏幕上有图像吗,我想带标题的全尺寸屏幕吗?

我只使用position: "absolute",但是不能包装标题,并且我不能使用header: null,因为我希望显示后退按钮!

那我该如何处理呢?

我会得到什么

bg

我想要什么

bg2

谢谢。

3 个答案:

答案 0 :(得分:1)

您可以通过添加属性headertransparent

使标题对于特定屏幕透明

尝试一下

 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);


应用演示

enter image description here

答案 1 :(得分:1)

您需要隐藏标题,如果您使用的是反应导航,则可以添加 navigationOptions 来添加用于隐藏标题的属性,例如这些行。

static navigationOptions = {
    headerShown: false
  };

答案 2 :(得分:0)

在标题中使用此样式 {   位置:“绝对”,   zIndex:100,   上:0,   左:0,   右:0,   海拔:0,   shadowOpacity:0,   borderBottomWidth:0 }