如何在 React Native Top Navigation 中正确更改 indicatorStyle 的宽度?

How to correctly change the width of the indicatorStyle in React Native Top Navigation?

我希望能够减小顶部导航栏中 indicatorStyle 的宽度以实现以下结果:

但是每当我尝试减小栏的宽度时,我都无法将其正确居中。这是我目前拥有的;

下面是我的代码:

import React from 'react';
import { createAppContainer } from 'react-navigation';
import {createMaterialTopTabNavigator } from 'react-navigation-tabs';
import Colors from '../constants/Colors';
import Tab1 from '../screens/tab1';
import Tab2 from '../screens/tab2';


const HomeTab = createMaterialTopTabNavigator({
    TAB1: Tab1,
    TAB2: Tab2,
  }, 
  {
    tabBarOptions: {
        activeTintColor: 'black',
        inactiveTintColor: 'gray',
        labelStyle: { fontSize: 14, fontWeight:"700" },
        style: { backgroundColor: Colors.mainBackground, elevation: 0, shadowOpacity: 0, borderBottomWidth:2, borderColor:'#ccc' },
        indicatorStyle: { backgroundColor: 'blue', width:100},

    },
  }

);

感谢您的帮助!真的很感激:)

您可以使用 position

例子

indicatorStyle : {width:50,left:"18%"},

为了准确居中,我使用尺寸 API 来获得精确的宽度和偏移量。

const totalWidth = Dimensions.get("screen").width;

然后

indicatorStyle: {
   width: totalWidth / 4,
   left: totalWidth / 8,
}