当前位置: 首页 > 知识库问答 >
问题:

如何独立地为每个孩子正名(左、右、中)?

那开济
2023-03-14

在这方面,我有:

<View style={styles.navBar}>
  <Text>{'<'}</Text>
    <Text style={styles.navBarTitle}>
      Fitness & Nutrition Tracking
    </Text>
  <Image source={icon} style={styles.icon}/>
</View>

使用以下样式:

{
    navBar: {
        height: 60,
        flexDirection: 'row',
        justifyContent: 'space-between',
        alignItems: 'center',
    },
    navBarTitle: {
        textAlign: 'center',
    },
    icon: {
        height: 60,
        resizeMode: 'contain',
    },
}

这是我得到的效果:

这就是我想要的效果:

在第一个示例中,项之间的行间距相等。

在第二个示例中,每个项目的对齐方式不同。第一项左对齐。第二项是居中对齐。第三,正确的解释。

这个问题类似,但看起来react native不支持边距:“auto”。此外,只有在您只关心左右对齐的情况下,其他答案才有效,但没有人在没有自动边距的情况下真正解决中心对齐问题。

我试图在react native中创建一个导航栏。香草ios版本如下所示:

我如何做类似的事情?我主要关心的是定心。

共有3个答案

申屠瀚海
2023-03-14

如果您正在使用Navigator模块中的NavigationBar,请参阅我的问题:更改Navigator的默认样式。导航栏(标题)

骆文华
2023-03-14

您还可以将边际左:自动设置为中间组件。它应该把它推到右边。也为React Native工作

资料来源:https://hackernoon.com/flexbox-s-best-kept-secret-bd3d892826b6

鲜于渊
2023-03-14

一种方法是对3个不同的区域使用嵌套视图(flex容器),并将flex:1设置为左侧和右侧区域

<View style={styles.navBar}>
  <View style={styles.leftContainer}>
    <Text style={[styles.text, {textAlign: 'left'}]}>
      {'<'}
    </Text>
  </View>
  <Text style={styles.text}>
    Fitness & Nutrition Tracking
  </Text>
  <View style={styles.rightContainer}>
    <View style={styles.rightIcon}/>
  </View>
</View>

const styles = StyleSheet.create({
  navBar: {
    height: 60,
    flexDirection: 'row',
    justifyContent: 'space-between',
    alignItems: 'center',
    backgroundColor: 'blue',
  },
  leftContainer: {
    flex: 1,
    flexDirection: 'row',
    justifyContent: 'flex-start',
    backgroundColor: 'green'
  },
  rightContainer: {
    flex: 1,
    flexDirection: 'row',
    justifyContent: 'flex-end',
    alignItems: 'center',
    backgroundColor: 'red',
  },
  rightIcon: {
    height: 10,
    width: 10,
    resizeMode: 'contain',
    backgroundColor: 'white',
  }
});
 类似资料:
  • 我正在为一个看起来像这样的纸牌游戏制作一个反应大厅:大厅图像 每个名称和“kick”按钮都是一个react组件,我根据名称列表(该列表中的所有名称都是唯一的)呈现该组件。我认为,由于名称是唯一的,我可以使用名称作为键,但由于某些原因,我得到以下错误:错误消息 我做错了什么? 注意:我还尝试了为KickButton键做key={Player"1"},以使其与相应的PlayerIcon唯一,但错误仍然

  • css flex 布局,页面分为上下两部分,下面通过 flex: 1; 撑开,并且 overflow-y: auto;下面又分为左右布局,左右高度不一定,想要设置一个边框分割左右,但是边框始终到最底部; 下半部分左右边框高度能够到自动撑开的高度 https://codesandbox.io/p/devbox/flexbu-ju-zi-dong-cheng-gao-8...

  • 问题内容: 我正在使用以下代码从给定路径获取包含所有子目录的数组。 我需要数组来检查某些文件夹是否在此路径中的正确位置。直到findBugs抱怨File.separator用作正则表达式之前,这似乎是一个很好的解决方案。似乎将Windows文件分隔符传递给从中构建正则表达式的函数是个坏主意,因为反斜杠是转义字符。 如何不使用File.separator以跨平台方式拆分路径?还是这样的代码好吗? 问

  • 这样不仅可以将转移页面的子元素放入数组,还可以将子元素的子元素放入数组。

  • 我使用firebase作为数据库,使用Ionic React作为移动应用程序。我已经将firebase数据转换为数组,但当我想映射值时。它告诉我它应该有一个唯一的键,但我已经在元素的返回函数中放置了一个唯一的键。有人能告诉我我做错了什么吗?谢谢 下面是我将对象转换为数组的代码 作为回报 我得到的是