我有一个看起来像这样的 ListView:
如您所见,下拉箭头图标在每个项目的左侧就在文本的第一位上方创建了一个间隙。我想避免这个差距,当前代码:
<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>
这消除了间隙,但不会将其放置在同一个位置(屏幕右侧)。我尝试将 Text 标签的 flex 设置为 1,但这完全搞砸了,有没有办法让图标与文本内联并一直向右?