Använder RawDialogRoute i Flutter: Guide och exempel

RawDialogRoute är en klass Flutter som representerar en rå dialogrutt, vilket ger ett sätt att visa anpassade dialogrutor eller popup-fönster. Den här klassen används vanligtvis internt av ramverket för att skapa och hantera dialogrutter.

Här är ett exempel på hur du kan använda RawDialogRoute för att visa en anpassad dialogruta:

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

I det här exemplet, när knappen trycks ned, showDialog används funktionen för att visa en anpassad dialogruta med hjälp av RawDialogRoute som byggare. Inuti builder, kan du tillhandahålla ditt anpassade innehåll för dialogrutan.

Observera att det RawDialogRoute kan anses vara en lågnivåklass, och du kanske tycker att det är bekvämare att använda den inbyggda AlertDialog eller SimpleDialog klasserna för att skapa dialoger i de flesta fall.