gpt4 book ai didi

javascript - 图标导致 View 中出现间隙 - React Native

转载 作者:行者123 更新时间:2023-12-03 02:16:28 26 4
gpt4 key购买 nike

我有一个看起来像这样的ListView:

screenshot

如您所见,下拉箭头图标在每个项目的左侧第一个文本上方创建了一个间隙。我想避免出现这种差距,当前代码:

<Item key={i+tk}>
<TouchableOpacity onPress={() => this.setState({prevIndex: this.state.activeIndex, activeIndex: i+tk,
messageJustClosed: (this.state.prevIndex === i+tk && !this.state.messageJustClosed)})} style={{flex: 1}}>
<View>
<Icon name= {this.getIconImage(i+tk)} size={30} color="black" style={{alignSelf: 'flex-end'}}/>

<Text style = {styles.text}>{messageType[i].title}</Text>
<Text style = {styles.dateText}>{new Date(messageType[i].created).toString().substring(0,21)}</Text>
<Expand value={ ((this.state.activeIndex === i+tk) && !(this.state.prevIndex === i+tk) ) || ((this.state.activeIndex === i+tk && this.state.messageJustClosed)) }>
<Text style = {{color: 'black'}}>{messageType[i].message}</Text>
</Expand>
</View>

</TouchableOpacity>
</Item>

我尝试将其与标签内联放置,如下所示:

<Text style = {styles.text}>{messageType[i].title} <Icon  name= {this.getIconImage(i+tk)} size={30} color="black" style={{alignSelf: 'flex-end'}}/> </Text>

这消除了间隙,但没有将其放置在同一位置(屏幕右侧)。我尝试将文本标签的 flex 值设置为 1,但这完全把事情搞乱了,有没有办法让图标与文本内联并一直位于右侧?

最佳答案

您的<View>包含图标和单元格内容使用默认 flexDirection: column 进行渲染,因此如果更改为 flexDirection: row你可以完成你所追求的事情。

以下是如何编写 JSX 的示例:

<View style={{ flexDirection: "row" }}>
<View style={{ flex: 1 }}>
<Text style={styles.text}>{messageType[i].title}</Text>
<Text style={styles.dateText}>{new Date(messageType[i].created).toString().substring(0, 21)}</Text>
<Expand
value={
(this.state.activeIndex === i + tk && !(this.state.prevIndex === i + tk)) ||
(this.state.activeIndex === i + tk && this.state.messageJustClosed)
}
>
<Text style={{ color: "black" }}>{messageType[i].message}</Text>
</Expand>
</View>
<Icon name={this.getIconImage(i + tk)} size={30} color="black" />
</View>

关于javascript - 图标导致 View 中出现间隙 - React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49348227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com