加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – React Navigation;在标题中使用图像?

发布时间:2020-12-15 20:17:12 所属栏目:百科 来源:网络整理
导读:我在反应原生项目中使用反应导航,我想用图像自定义标题. 对于一种颜色,我可以使用简单的样式,但由于本机反应不支持背景图像,我需要一个不同的解决方案. 解决方法 更新: 从库的v2开始,有一个用于设置标题背景的特殊选项,即headerBackground. 此选项接受React
我在反应原生项目中使用反应导航,我想用图像自定义标题.

对于一种颜色,我可以使用简单的样式,但由于本机反应不支持背景图像,我需要一个不同的解决方案.

解决方法

更新:

从库的v2开始,有一个用于设置标题背景的特殊选项,即headerBackground.

此选项接受React组件,因此当设置为Image组件时,它将使用它.

例如:

export default createStackNavigator({
  Home: {
    screen: HomeScreen
  },},{
  navigationOptions: {
    headerBackground: (
      <Image
        style={StyleSheet.absoluteFill}
        source={{ uri: 'https://upload.wikimedia.org/wikipedia/commons/3/36/Hopetoun_falls.jpg' }}
      />
    ),}
});

工作示例:https://snack.expo.io/@koenpunt/react-navigation-header-background

旧答案,仍然使用React Navigation v1:

使用图像创建自定义标头实际上非常简单.

通过使用视图包装Header并在该视图中放置绝对定位的图像,图像将缩放到其父级大小.

重要的是将默认标题的backgroundColor设置为transparent.

const ImageHeader = props => (
  <View style={{ backgroundColor: '#eee' }}>
    <Image
      style={StyleSheet.absoluteFill}
      source={{ uri: 'https://upload.wikimedia.org/wikipedia/commons/3/36/Hopetoun_falls.jpg' }}
    />
    <Header {...props} style={{ backgroundColor: 'transparent' }}/>
  </View>
);

然后使用该组件作为标头:

const SimpleStack = StackNavigator({
  Home: {
    screen: MyHomeScreen,{
  navigationOptions: {
    headerTitleStyle: { color: '#fff' },header: (props) => <ImageHeader {...props} />,}
});

这将导致:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读