Korištenje RawDialogRoute u Flutter: Vodič i primjeri

RawDialogRoute je klasa Flutter koja predstavlja sirovi dijaloški put, pružajući način za prikaz prilagođenih dijaloga ili skočnih prozora. Ovu klasu okvir obično interno koristi za stvaranje dijaloških ruta i upravljanje njima.

Evo primjera kako biste mogli koristiti RawDialogRoute za prikaz prilagođenog dijaloškog okvira:

import 'package:flutter/material.dart';  
  
void main() {  
  runApp(MyApp());  
}  
  
class MyApp extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return MaterialApp(  
      home: MyHomePage(),  
   );  
  }  
}  
  
class MyHomePage extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return Scaffold(  
      appBar: AppBar(  
        title: Text('RawDialogRoute Example'),  
     ),  
      body: Center(  
        child: ElevatedButton(  
          onPressed:() {  
            showDialog(  
              context: context,  
              builder:(BuildContext context) {  
                return RawDialogRoute(  
                  context: context,  
                  barrierDismissible: true,  
                  builder:(BuildContext context) {  
                    return AlertDialog(  
                      title: Text('Custom Dialog'),  
                      content: Text('This is a custom dialog using RawDialogRoute.'),  
                      actions: [  
                        TextButton(  
                          onPressed:() {  
                            Navigator.pop(context);  
                          },  
                          child: Text('Close'),  
                       ),  
                      ],  
                   );  
                  },  
               );  
              },  
           );  
          },  
          child: Text('Open Dialog'),  
       ),  
     ),  
   );  
  }  
}  

U ovom primjeru, kada se pritisne gumb, showDialog funkcija se koristi za prikaz prilagođenog dijaloškog okvira koji koristi RawDialogRoute kao graditelja. Unutar builder, možete dati svoj prilagođeni sadržaj za dijalog.

Imajte na umu da se to RawDialogRoute može smatrati klasom niske razine i možda će vam u većini slučajeva biti prikladnije koristiti ugrađene klase AlertDialog ili SimpleDialog klase za stvaranje dijaloga.