ใช้ RawDialogRoute ใน Flutter: คู่มือและตัวอย่าง

RawDialogRoute เป็นคลาส Flutter ที่แสดงเส้นทางไดอะล็อกดิบ ซึ่งมีวิธีแสดงไดอะล็อกหรือป๊อปอัปแบบกำหนดเอง โดยทั่วไปคลาสนี้จะใช้ภายในโดยเฟรมเวิร์กเพื่อสร้างและจัดการเส้นทางไดอะล็อก

ต่อไปนี้คือตัวอย่างวิธีที่คุณอาจใช้ RawDialogRoute เพื่อแสดงกล่องโต้ตอบแบบกำหนดเอง:

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

ในตัวอย่างนี้ เมื่อกดปุ่ม ฟังก์ชัน showDialog จะใช้เพื่อแสดงไดอะล็อกแบบกำหนดเองโดยใช้ RawDialogRoute ตัวสร้าง ภายใน builder คุณสามารถระบุเนื้อหาที่กำหนดเองสำหรับไดอะล็อก

โปรดทราบว่า RawDialogRoute อาจถูกพิจารณาว่าเป็นคลาสระดับต่ำ และคุณอาจพบว่าสะดวกกว่าในการใช้คลาสในตัว AlertDialog หรือ SimpleDialog คลาสสำหรับสร้างไดอะล็อกในกรณีส่วนใหญ่