我使用CRNA创建了一个使用React导航的项目.在其中一个屏幕中,我有一个覆盖整个屏幕的背景图像,我想包括标题.

如下图所示:

enter image description here

我应该隐藏标题并使用包含所需元素的视图吗?如果是,在深度链接的情况下,这会导致任何问题吗?

Solution

React导航提供了一种叫做headerTransparent的酷炫props ,可用于

因此,代码应该如下所示:

static navigationOptions = {
    headerTransparent: true
  }

推荐答案

要实现这一效果,您需要遵循以下步骤:

  1. 使用绝对位置、透明背景和无边框更改导航标题的样式.
  2. 使用ImageBackground组件作为屏幕的父组件,并使用要用作背景的图像.
  3. 将填充顶部添加到此ImageBackground以修复重叠.

因此,您的代码应该与以下内容类似:

import React, {Component} from 'react';
import {
  StyleSheet,
  Button,
  ImageBackground,
  Platform,
} from 'react-native';
import {
  createStackNavigator,
} from 'react-navigation';


class HomeScreen extends Component {
  render() {
    return (
        <ImageBackground
            style={styles.container}
            source={require('./images/bg.png')}
        >
          <Button
              onPress={() => {}}
              title="Just a button"
          />
        </ImageBackground>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    paddingTop: Platform.OS === 'ios' ? 60 : 80,
  }
});

const App = createStackNavigator({
  Home: {
    screen: HomeScreen,
    navigationOptions: {
      title: 'Home',
      headerStyle: {
        position: 'absolute',
        backgroundColor: 'transparent',
        zIndex: 100,
        top: 0,
        left: 0,
        right: 0,
        elevation: 0,
        shadowOpacity: 0,
        borderBottomWidth: 0,
      }
    },
  }
})

export default App;

React-native相关问答推荐

使用FETCH发送BLOB/文件时为空

什么是 expoClientId?

React Navigation v5 中的初始路由参数?

TextInput 防止 ScrollView 滚动

TouchableOpacity 作为 ListView 中的 Item 仅在 TextInput 失go 焦点后做出响应

react-native android中出现此问题Cannot convert argument of type class org.json.JSONArray的原因是什么?

在整个屏幕上获取touch 事件

React native + redux-persist:如何忽略键(黑名单)?

带有 xcode 模拟器的 react-native 有非常慢的alert

在 FlatList 上使用 React Native 搜索过滤器

React.createClass vs. ES6 箭头函数

仅链接字体的方法

在 `../node_modules/react-native/React` 中找不到 `React-Core` 的 podspec

如何从 React-Native 中的另一个类调用函数?

尽管 TypeScript 编译器错误,为什么我的 React Native 应用程序构建成功?

降级 react-native 的适当机制

无法解析模块react-native-screen

安卓启动问题:Unsupported class file major version 57

为什么 this.state 在react-native中未定义?

React Native 构建命令失败:PhaseScriptExecution ... (domain=NSPOSIXErrorDomain, code=2)