top of page
Szukaj

Modal Bottom Sheet

  • Zdjęcie autora: Iwona
    Iwona
  • 4 wrz 2022
  • 2 minut(y) czytania

Zaktualizowano: 11 wrz 2022

Modal Bottom Sheet to alternatywa dla menu lub okna dialogowego i uniemożliwia użytkownikowi interakcję z resztą aplikacji. Pojawia się w interfejsie użytkownika, dzięki czemu nie ma potrzeby przechodzenia do innej strony. Można go wykorzystać do wykonania małego zadania, które nie wymaga budowy całego nowego ekranu.


Modalne dolne arkusze we Flutterze są używane do wyświetlania dodatkowych treści, jak sama nazwa wskazuje, dolny arkusz znajduje się na dole ekranu.




 

Aby zbudować taki dolny arkusz należy najpierw Scaffold wyekstrahować do oddzielnego widżetu, ja nazwałam go HomePage a następnie dodać przycisk:


class HomePage extends StatelessWidget {
  const HomePage({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          child: const Text('Otwórz'),
          onPressed: () {
            showModalBottomSheet(
              context: context,
              builder: (context) => const Center(
                child: Text('Witaj w mojej aplikacji!'),
              ),
            );
          },
        ),
      ),
    );
  }
}



 

Dodatkowe rzeczy do zmiany w Modal Bottom Sheet


Domyślnie dolny arkusz nie jest zaokrąglony, aby to zmienić możemy podać kształt i zaokrąglić górne rogi:


showModalBottomSheet(
              context: context,
              shape: const RoundedRectangleBorder(
                borderRadius: BorderRadius.vertical(
                  top: Radius.circular(20),
                ),
              ),
              builder: (context) => const Center(
                child: Text('Witaj w mojej aplikacji!'),
              ),
            );


 

Możemy zmienić kolor tła dolnego arkusza, jak również górnej strony:



showModalBottomSheet(
              backgroundColor: Colors.lightGreen,
              barrierColor: Colors.yellow,


 

Cały kod z logo Flutter:


class HomePage extends StatelessWidget {
  const HomePage({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          child: const Text('Otwórz'),
          onPressed: () {
            showModalBottomSheet(
              backgroundColor: const Color.fromARGB(255, 164, 203,115),
              barrierColor: const Color.fromARGB(255, 210, 209, 198),
              context: context,
              shape: const RoundedRectangleBorder(
                borderRadius: BorderRadius.vertical(
                  top: Radius.circular(20),
                ),
              ),
              builder: (context) => Center(
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: const [
                    Text(
                      'Witaj w mojej aplikacji!',
                      style: TextStyle(
                        fontSize: 30,
                      ),
                    ),
                    SizedBox(
                      height: 20,
                    ),
                    FlutterLogo(size: 100),
                  ],
                ),
              ),
            );
          },
        ),
      ),
    );
  }
}

 

PODSUMOWANIE:

Flutter jest wyposażony w konfigurowalne widżety, których można używać do tworzenia aplikacji międzyplatformowych głównie na Androida i iOS. Dzięki widżetowi showModalBottomSheet możesz tworzyć modalne dolne arkusze, które poprawiają wrażenia użytkownika dla osób uzyskujących dostęp do Twojej aplikacji na urządzeniu mobilnym.



 
 
 

Ostatnie posty

Zobacz wszystkie

Comments


  • Linkedin
  • Twitter
bottom of page