Flutter TabBar พร้อม Box Shadow: คู่มือการใช้งาน

หากต้องการใช้เงาของกล่องกับ a TabBar in Flutter คุณสามารถล้อมมันไว้ใน a Container และใช้ BoxDecoration คุณสมบัติได้ นี่คือตัวอย่าง:

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 DefaultTabController(  
      length: 3,  
      child: Scaffold(  
        appBar: AppBar(  
          title: Text('TabBar with Shadow'),  
          bottom: TabBar(  
            tabs: [  
              Tab(text: 'Tab 1'),  
              Tab(text: 'Tab 2'),  
              Tab(text: 'Tab 3'),  
            ],  
         ),  
       ),  
        body: TabBarView(  
          children: [  
            Container(color: Colors.red),  
            Container(color: Colors.green),  
            Container(color: Colors.blue),  
          ],  
       ),  
     ),  
   );  
  }  
}  

หากคุณต้องการเพิ่มเอฟเฟกต์เงาให้กับ TabBar คุณสามารถล้อม TabBar a Container และใช้คำสั่ง BoxDecoration:

Container(  
  decoration: BoxDecoration(  
    boxShadow: [  
      BoxShadow(  
        color: Colors.grey.withOpacity(0.5),  
        spreadRadius: 5,  
        blurRadius: 7,  
        offset: Offset(0, 3), // changes position of shadow  
     ),  
    ],  
 ),  
  child: TabBar(  
    tabs: [  
      Tab(text: 'Tab 1'),  
      Tab(text: 'Tab 2'),  
      Tab(text: 'Tab 3'),  
    ],  
 ),  
),  

ในตัวอย่างนี้ BoxShadow ใช้เพื่อสร้างเอฟเฟกต์เงาให้กับไฟล์ TabBar. คุณสามารถปรับแต่งสี รัศมีการกระจาย รัศมีความเบลอ และออฟเซ็ต เพื่อให้ได้เงาที่ต้องการ

อย่าลืมปรับคุณสมบัติของเงาให้ตรงกับความต้องการในการออกแบบของคุณ

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