如何使视图高度适合React Native中的内容?

问题描述 投票:0回答:2

我正在构建一个移动聊天应用程序,我遇到了这个问题,我将消息显示为视图内的文本,但显然我无法使消息显示在适合视图内的特定高度。要么是消息太长,所以无法完全显示(视图中没有足够的空间),要么是消息出现,但文本后面有很多空格。

请查看准确描述问题的图片:

enter image description here

这是我的代码:

1- 观看次数:

if (chat.from !== CurrentUser) {
    temp_chat.push(
      <View key={i} style={styles.messageContainer1}>
        <View style={styles.thisUserText}>
          <Text style={styles.message}>{chat.msg}</Text>
        </View>
        <View style={styles.empty}></View>
      </View>
    );
  } else {
    temp_chat.push(
      <View key={i} style={styles.messageContainer2}>
        <View style={styles.empty}></View>
        <View style={styles.otherUserText}>
          <Text style={styles.message}>{chat.msg}</Text>
        </View>
      </View>
    );
  }

2- 风格:

messageContainer1: {
  flexDirection: "row",
  marginBottom: 10,
  flex: 1,
},
messageContainer2: {
  flexDirection: "row",
  justifyContent: "flex-end",
  marginBottom: 10,
  flex: 1,
},
message: {
  fontSize: 16,
  color:"#fff",
  padding:10
},
empty: {
  flex: 1,
},
thisUserText: {
  backgroundColor: "#bf0010", // red 
  flex: 1,
  height: 100,
  borderRadius: 5,
  color:"#fff",
},
otherUserText: {
  backgroundColor: "#13283E", // dark blue
  flex: 2,
  height: 100,
  borderRadius: 5,
},

我需要的是红色和深蓝色视图的动态高度,以使内部文本完美契合,无论是长文本还是短文本。我怎样才能实现这个目标?

提前谢谢🙏

javascript css reactjs react-native mobile
2个回答
1
投票

您可以使用

flexBasis: auto

阅读此处了解更多信息


0
投票

你可以用这个, alignSelf:'居中',

© www.soinside.com 2019 - 2024. All rights reserved.