Как обработать цвет фона SafeArea с помощью навигации по нижним вкладкам? - PullRequest
3 голосов
/ 06 марта 2020

Текущее поведение

Привет всем,

Я хочу установить цвет фона для нижней вкладки. Поэтому я сделал, как показано ниже.

<Tab.Navigator
      tabBarOptions={{
        activeTintColor: '#FF0000',
        activeBackgroundColor: '#FFFFFF',
        inactiveBackgroundColor: '#FF0000',
        inactiveTintColor:  '#FFFFFF'
      }}>
      <Tab.Screen
        name="Home"
        component={HomeScreen}
      />
      <Tab.Screen
        name="Account"
        component={AccountScreen}
      />
    </Tab.Navigator>

https://user-images.githubusercontent.com/6939811/76062160-b6dfde00-5fb7-11ea-8808-3f2562e90c24.png

Проблема в том, что SafeArea имеет белый фон

Ожидаемое поведение

Что я ожидаю, это https://user-images.githubusercontent.com/6939811/76062716-cca1d300-5fb8-11ea-926a-acbd42d412dd.png

Итак, не могли бы вы рассказать мне, как решить эту проблему в React Navigation версии 5, пожалуйста? Спасибо!

Ваше окружение

iOS Reaction-native: 0.61.5

@ реагировать-навигация / native: ^ 5.0.5

@ реагировать-навигация / нижние вкладки: ^ 5.0.5

1 Ответ

0 голосов
/ 31 марта 2020

Я нашел вариант (мне не нравится, но он работает) в этом ответе: Как сделать прозрачной панель вкладок реагирования-навигации прозрачной

<Tab.Navigator
      tabBarOptions={{
        showLabel: false,
        activeTintColor: theme.primary,
        inactiveTintColor: theme.tintInactiveTabBar,
        style: {
          backgroundColor: theme.backgroundTabBar,
          position: 'absolute',
          left: 0,
          bottom: 0,
          right: 0,
          borderTopRightRadius: 10,
          borderTopLeftRadius: 10,
        },
      }}>...</Tab.Navigator>

Положения позиции: абсолютные и нижние, левые и правые атрибуты. Это работает для меня.

...