1

我正在使用react-native-tab-view屏幕顶部的显示选项卡。如果屏幕数量将增加(超过 5 个),屏幕视图看起来很拥挤

下面是我的代码片段

export default class CustomTabViewComponent extends React.Component{
state = {
    index: 0,
    routes: [
      { key: 'tab1', title: 'Tab1' },
      { key: 'tab2', title: 'Tab2' },
      { key: 'tab3', title: 'Tab3' },
      { key: 'tab4', title: 'Tab4' },
      { key: 'tab5', title: 'Tab5' },
    ],
  };
render(){
   return(
   <TabView
          navigationState={this.state}
          renderScene={this.renderScene}
          renderTabBar={this._renderTabBar}
          onIndexChange={this.onIndexChange}
          initialLayout={{
            width: Dimensions.get('window').width,
            height: 100,
          }}
        />

)}
}

我也发布图片以供参考。

在此处输入图像描述

是否有任何属性可以使我可以TabView通过单独的选项卡固定宽度向右滚动?

PS:我试过react-native-scrollable-tab-view但卡在同一个地方。

4

1 回答 1

7

renderTabBarprop 传递给 TableView,它返回一个自定义的 React 元素并返回<TabBar>、添加tabStylescrollEnabled={true}TabBar

renderTabBar - 返回自定义 React 元素以用作标签栏的回调

TabBar - 以材料设计为主题的标签栏。

scrollEnabled - 指示是否启用可滚动选项卡的布尔值。

tabStyle - 应用于标签栏中各个标签项的样式。

import { TabView, SceneMap, TabBar } from 'react-native-tab-view';

<TabView
  navigationState={this.state}
  renderScene={this.renderScene}
  renderTabBar={this._renderTabBar}
  onIndexChange={this.onIndexChange}
  renderTabBar={props => (
    <TabBar
      {...props}
      indicatorStyle={{ backgroundColor: 'white' }}
      tabStyle={{ width: 100 }}
      scrollEnabled={true}
      style={{ backgroundColor: 'blue' }}
    />
  )}
  initialLayout={{
    width: Dimensions.get('window').width,
    height: 100,
  }}
/>

演示

于 2019-05-30T11:38:33.670 回答