16 votes

Le widget enfant de CupertinoPageScaffold est derrière CupertinoNavigationBar

J'essaie de mettre du contenu sous une CupertinoNavigationBar.

Mais les widgets de contenu sont partiellement couverts par la CupertinoNavigationBar.

Je ne comprends pas pourquoi la colonne enfant n'est pas décalée verticalement pour que le haut ne soit pas couvert par la CupertinoNavigationBar.

Voici une capture d'écran et mon code

iOS simulator screenshot

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class PersonalInfoEditor extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: buildNavigationBar(context),
      child: Column(
        children: <Widget>[
          Text('Personal Info'),
          Text('t1'),
        ],
      ),
    );
  }

  CupertinoNavigationBar buildNavigationBar(BuildContext context) {
    return CupertinoNavigationBar(        
        trailing: CupertinoButton(
          child: Text('Save', style: TextStyle(color: CupertinoColors.activeBlue)),
          onPressed: () => Navigator.pop(context),
        ));
  }
}

35voto

diegoveloper Points 24042

Enveloppez votre enfant SafeArea :

        return CupertinoPageScaffold(
              navigationBar: buildNavigationBar(context),
              child: SafeArea(
                child: Column(
                  children: <Widget>[
                    Text('Personal Info'),
                    Text('t1'),
                  ],
                ),
              ),
            );

Et n'oubliez pas d'utiliser CupertinoApp au lieu de MaterialApp

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X