Реагирующая навигация: прозрачный заголовок не имеет высоты - PullRequest
5 голосов
/ 28 мая 2019

Если я установлю headerTransparent: true, то другое содержимое, которое обычно отображается ниже, перемещается под ним. Как я могу избежать этого?

Мой код:

export class RegisterScreen extends Component {
  static navigationOptions = {
    title: strings.header,
    headerTitleStyle: { color: '#fff' },
    headerTintColor: '#fff',
    headerTransparent: true,
  };
  render() {
    return <Display onSignUpPressed={() => {}} onHelpPressed={() => {}} />;
  }
}

С прозрачным заголовком (перекрывается :():

enter image description here

Без прозрачного заголовка:

enter image description here

Я бы хотел выровнять содержимое, как если бы заголовок имел высоту. Поэтому я хочу, чтобы содержимое было как на втором изображении, но с прозрачным заголовком, как на первом.

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

Мы можем сделать прозрачный заголовок с помощью

headerTransparent: true

но при этом нам также нужно задать headerStyle, как этот, чтобы сделать прозрачный заголовок.

static navigationOptions = {
headerTransparent: true,
headerStyle: { borderBottomWidth: 0 }
};

В моем случае я делаю это возможным, придавая этот стиль моему заголовку.

стиль: {позиция: 'абсолютная', фоновый цвет: 'прозрачная', zIndex: 100, сверху: 0, слева: 0, справа: 0}

0 голосов
/ 28 мая 2019

Добавить headerBackground для навигации, как это

static navigationOptions = {
    title: strings.header,
    headerTitleStyle: { color: '#fff' },
    headerTintColor: '#fff',
    headerTransparent: true,
    headerBackground: Platform.select({
        ios: <BlurView style={{ flex: 1 }} intensity={98} />,
        android: (
          <View style={{ flex: 1, backgroundColor: 'rgba(255,255,255,0.7)' }} />
    ),
  }),
};
...