React native在ios和android上完全相同的header?

uqxowvwt  于 2023-10-21  发布在  iOS
关注(0)|答案(1)|浏览(116)

我在一个reactnative项目工作,我必须使2个应用程序与iOS和Android上完全相同的topbar是可能的吗?即使它不是一个原生的头或者也许我必须自定义Android的顶栏,使这似乎比iOS相同?
提前感谢!Maxime

piv4azn7

piv4azn71#

试着像这样创建一个自定义头:

import React, {Fragment, Component} from 'react';
import {View, Text, TouchableOpacity, Image, SafeAreaView} from 'react-native';
import {
  widthPercentageToDP as wp,
  heightPercentageToDP as hp,
} from 'react-native-responsive-screen';
import {headerStyles} from '../style/headerStyles';

export default class Header extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  render() {
    return (
      <View
        style={{
          flexDirection: 'row',
          paddingBottom: hp('3.125%'),
          justifyContent: 'space-between',
          alignItems: 'center',
        }}>
        <View style={{opacity: 0}}>
          <Image source={require('../assets/images/crossIcon.png')} />
        </View>
        <View style={{flexShrink: 1}}>
          <Text style={headerStyles.headerText}>{this.props.title}</Text>
        </View>
        <View style={{left: -20, paddingLeft: 10, marginLeft: 10}}>
          <TouchableOpacity
            style={headerStyles.imageView}
            onPress={() => this.props.navigation.goBack()}>
            <Image
              style={{height: 15, width: 15}}
              source={require('../assets/images/crossIcon.png')}
            />
          </TouchableOpacity>
        </View>
      </View>
    );
  }
}

并禁用导航默认标题。
现在,在代码的顶部导入这个头文件,无论你想在哪里。一切都会一样的。
希望有帮助。有任何疑问请放心

相关问题