NativeBase选项卡无法自定义borderBottomColor

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

我有几个标签定义如下:

<Tabs renderTabBar={() => <ScrollableTab />}>
      <Tab heading="Tab1" tabStyle={styles.tabStyling} activeTabStyle={styles.activeTabStyle} textStyle={styles.tabTextStyle} activeTextStyle={styles.activeTabTextStyle} />
      <Tab heading="Tab2" tabStyle={styles.tabStyling} activeTabStyle={styles.activeTabStyle} textStyle={styles.tabTextStyle} activeTextStyle={styles.activeTabTextStyle} />
      <Tab heading="Tab3" tabStyle={styles.tabStyling} activeTabStyle={styles.activeTabStyle} textStyle={styles.tabTextStyle} activeTextStyle={styles.activeTabTextStyle} />
      <Tab heading="Tab4" tabStyle={styles.tabStyling} activeTabStyle={styles.activeTabStyle} textStyle={styles.tabTextStyle} activeTextStyle={styles.activeTabTextStyle} />
      <Tab heading="Tab5" tabStyle={styles.tabStyling} activeTabStyle={styles.activeTabStyle} textStyle={styles.tabTextStyle} activeTextStyle={styles.activeTabTextStyle} />
</Tabs>

以下风格:

const styles = StyleSheet.create({
  tabStyling: {
    backgroundColor: '#37b372'
  },
  activeTabStyle: {
    backgroundColor: '#37b372',
    borderColor: 'white',
    borderBottomColor: 'red'
  },
  tabTextStyle: {
    color: 'black'
  },
  activeTabTextStyle: {
    fontWeight: 'bold',
    color: 'white',
    fontSize: 20
  }
});

activeTabStyle,我已经定义了borderBottomColor: 'red',但它仍然给我默认的蓝色

enter image description here

以下是NativeBase的界面

interface Tab {
  heading: React.ReactElement<TabHeading> | string;
  tabStyle?:ReactNative.ViewStyle | Array<ReactNative.ViewStyle>;
  activeTabStyle?: ReactNative.ViewStyle | Array<ReactNative.ViewStyle>;
  textStyle?: ReactNative.TextStyle;
  activeTextStyle?: ReactNative.TextStyle;
}

所以activeTabStyle应该只是基本的ReactNative.ViewStyle

react-native tabs native-base
1个回答
1
投票

最好的方法是使用tabBarUnderlineStyle提到here,因为它是Tabs而不是Tab的属性。

例如

<Tabs tabBarUnderlineStyle={{ backgroundColor: 'YOUR_SAMPLE_COLOR' }} renderTabBar={() => <ScrollableTab /> }>
  {... // Rest of the data}                   
</Tabs>

另外需要注意的是,您的样式正在应用,但它隐藏在默认边框下方。要注意它,您可以添加

 activeTabStyle: {
    backgroundColor: '#37b372',
    borderColor: 'white',
    borderBottomColor: 'red',
    borderBottomWidth: 10
  },
© www.soinside.com 2019 - 2024. All rights reserved.