Uporaba RawDialogRoute v Flutter: vodnik in primeri

RawDialogRoute je razred Flutter, ki predstavlja neobdelano pogovorno okno in omogoča prikaz pogovornih oken ali pojavnih oken po meri. Ogrodje običajno interno uporablja ta razred za ustvarjanje in upravljanje pogovornih poti.

Tukaj je primer, kako lahko uporabite RawDialogRoute za prikaz pogovornega okna po meri:

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'),  
       ),  
     ),  
   );  
  }  
}  

V tem primeru, ko je gumb pritisnjen, showDialog se funkcija uporabi za prikaz pogovornega okna po meri, ki uporablja RawDialogRoute kot graditelj. Znotraj builder lahko za pogovorno okno zagotovite vsebino po meri.

Upoštevajte, da RawDialogRoute se lahko šteje za razred na nizki ravni in morda se vam bo zdelo bolj priročno, če boste v večini primerov uporabili vgrajene AlertDialog ali SimpleDialog razrede za ustvarjanje pogovornih oken.