Android 将图像而不是字符串标题添加到本机分段控件选项卡
我在我的项目中使用它,效果很好。下面是我目前的代码Android 将图像而不是字符串标题添加到本机分段控件选项卡,android,ios,react-native,npm,uisegmentedcontrol,Android,Ios,React Native,Npm,Uisegmentedcontrol,我在我的项目中使用它,效果很好。下面是我目前的代码 <SegmentedControlTab tabsContainerStyle={styles.tabsContainerStyle} tabStyle={styles.tabStyle} activeTabStyle={styles.activeTabStyle} values={["First", "Seco
<SegmentedControlTab
tabsContainerStyle={styles.tabsContainerStyle}
tabStyle={styles.tabStyle}
activeTabStyle={styles.activeTabStyle}
values={["First", "Second", "Third"]}
selectedIndex={this.state.selectedIndex}
onTabPress={this.handleIndexChange}
/>
这将显示标题字符串为“第一、第二和第三”的段。现在,我想用图像代替这些字符串。可能吗?我该怎么做呢 我通过查看库的源代码(版本“^2.2.1”)-文件“SegmentedControlTab.js”第84行找到了一种方法(仅适用于Android…)
<TouchableOpacity
style={styles.container}
disabled={!enabled}
onPress={onSelect}>
<View style={[styles.default]}>
{typeof value === 'number' || typeof value === 'object' ? (
<Image source={value} style={styles.segmentImage} />
) : isBase64(value) ? (
<Image source={{uri: value}} style={styles.segmentImage} />
) : (
<Text style={[idleStyle, selected && activeStyle]}>{value}</Text>
)}
</View>
</TouchableOpacity>
结果:
附言。
此解决方案仅适用于Android。。。我还没有找到在iOS上运行的方法
<SegmentedControl
values={['data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA7klEQVQ4T92Uvw6CQAzGvzPRxNXkNOCiz8Do5Is7uvEIhkkwnnF00AFTkpJayh8TJlg40q8fv7Z35zDy40b2w8QM95EvZYuyIjQqNEvmRCuBDLvinYZ9A/uH8AVg2WZIRkQ5c+5wye9nqasJkwTzZ+7fHCyBqwO2kkKWuov9yZU4kn4Vh0Wa4kPrylA3W5GFrAhr1jGdRU+xCp2CTELfnKTfrNMaCVUZSjOZpCkknV6zqWnYVo61ZTRQo2Q2k0L9AyvGrfsZilW6RWv1nVtVbxs16UdWBN+1sfeRvwHYsIZhJnbb9J3t+qQMEQ7VfAGjuKJN2bFKJQAAAABJRU5ErkJggg==', {uri: 'https://icons.iconarchive.com/icons/papirus-team/papirus-apps/256/albion-online-icon.png'}]}
style={segmentControlStyles.container}
selectedIndex={accessByIndex}
onChange={onAccessByChange}
backgroundColor={mainColors.segmentBackground}
fontStyle={segmentControlStyles.text}
/>