如何在 React 导航中设置图像以 header 显示全尺寸屏幕?
How to set Image to take the full size screen with header in react navigation?
我的屏幕包含图像,我想用 header 拍摄 full-size 屏幕?
我只使用了 position: "absolute"
,但包裹 header 不起作用,而且我不能使用 header: null
,因为我希望后退按钮出现!
那我该如何处理呢?
我得到了什么
我想要的
提前致谢。
您可以通过添加 属性 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 中使用此样式
{
位置:'absolute',
z索引:100,
顶部:0,
左:0,
右:0,
海拔:0,
阴影不透明度:0,
边框底部宽度:0
}
你需要隐藏 header,如果你使用的是 React 导航,你可以添加 navigationOptions 来添加隐藏 header 的属性,比如这些行。
static navigationOptions = {
headerShown: false
};
我的屏幕包含图像,我想用 header 拍摄 full-size 屏幕?
我只使用了 position: "absolute"
,但包裹 header 不起作用,而且我不能使用 header: null
,因为我希望后退按钮出现!
那我该如何处理呢?
我得到了什么
我想要的
提前致谢。
您可以通过添加 属性 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 中使用此样式 { 位置:'absolute', z索引:100, 顶部:0, 左:0, 右:0, 海拔:0, 阴影不透明度:0, 边框底部宽度:0 }
你需要隐藏 header,如果你使用的是 React 导航,你可以添加 navigationOptions 来添加隐藏 header 的属性,比如这些行。
static navigationOptions = {
headerShown: false
};