将图标放在与文本相同的行上

时间:2015-06-28 04:43:51

标签: flexbox react-native

我正在尝试将我的图标放在与2 Replies相同的行上。

以下是它的外观截图:

enter image description here

我想把它放在线的右边,如箭头所示。

以下是我的Component的render函数的外观:

  render: function() {
    return (
      <TouchableHighlight onPress={this.props.onSelect}>
        <View style={styles.container}>
          <Image source={{uri: this.state.image}}
                 style={styles.image} />
          <View style={styles.postDetailsContainer}>
            <Text style={styles.postTitle}>
              {this.state.name}
            </Text>
            <Text style={styles.postDetailsLine}>
              {this.state.comment}
            </Text>
            <View>
            <Text style={styles.postChildrenDetails}>
              {this.props.comment.child_comments_count} Replies
            </Text>
            <Icon
              name='fontawesome|comments-o'
              size={25}
              color='#D6573D'
              style={styles.icon}
            />
            </View>
            <View style={styles.separator} />
          </View>
        </View>
      </TouchableHighlight>
      )
  }

以下是我的StyleSheet的外观:

  container: {
    flex: 1,
    flexDirection: 'row',
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#FFFFFD',
  },
  image: {
    height: 48,
    width: 48,
    borderRadius: 25,
    marginTop: 10,
    alignSelf: 'center',
    marginRight: 15,
    marginLeft: 15
  },
  postDetailsContainer:{
    flex: 1,
  },
  postTitle: {
    fontSize: 15,
    textAlign: 'left',
    marginTop: 10,
    marginBottom: 4,
    marginRight: 10,
    color: '#D6573D'
  },
  postDetailsLine: {
    fontSize: 12,
    marginRight: 10,
    color: 'gray',
  },
  postChildrenDetails: {
    fontSize: 12,
    marginTop: 5,
    marginBottom: 10,
    marginRight: 10,
    color: 'gray',
    textAlign: 'right',
    flex: 1
  },
  separator: {
    height: 0.5,
    backgroundColor: '#CCCCCC',
  },
  icon: {
    flex: 1,
    textAlign: 'right',
    width: 25,
    height: 25
  }
})

3 个答案:

答案 0 :(得分:8)

我遇到了同样的挑战,对于任何有同样问题的人来说,这就是我解决问题的方法。

将图标和文字包裹在像@Colin Ramsey这样的视图中,上面的评论

看起来像这样:

<View style={{ flexDirection: 'row', justifyContent: 'space-between' }}> <Icon name="ios-chat" size={20} /> <Text> 2 replies </Text> </View>

沙洛姆!

答案 1 :(得分:0)

试试这个

<查看 风格={{ 背景颜色:“#ffc8cc”, 边界半径:30, 保证金:5, flexDirection: "行", justifyContent: "间隔", alignItems: "中心", 填充右:25

    }}
  >
    <Text style={styles.title}>Leagues</Text>
    <MaterialIcons name="sports-baseball" size={26} color="#cd000f" />
  </View>

标题的css:

标题:{ 字体大小:18, 保证金:20, 颜色:“#cd000f”, },

答案 2 :(得分:0)

在 props reactjs 中居中图像和文本同一行

    <div style={{ alignItems: "center", display: "flex", justifyContent: "center" }} >
    <img src={this.props.location.state.image} style={{ height: "100px", width: "100px", border: "4px solid white", verticalAlign: 'middle' }} />
 <span style={{ fontSize: '40px', fontWeight: 'bolder', textAlign: 'center', verticalAlign: 'middle' }}>
  {this.props.location.state.subject}</span>
   </div>