Flutter TabBar z cieniem Box: Przewodnik po implementacji

Aby zastosować cień prostokątny do a TabBar in Flutter, możesz zawinąć go w a Container i skorzystać z BoxDecoration właściwości. Oto przykład:

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

Jeśli chcesz dodać efekt cienia do TabBar, możesz owinąć TabBar a Container i zastosować 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'),  
    ],  
 ),  
),  

W tym przykładzie BoxShadow użyto efektu cienia dla pliku TabBar. Możesz dostosować kolor, promień rozmycia, promień rozmycia i przesunięcie, aby uzyskać pożądany wygląd cienia.

Pamiętaj, aby dostosować właściwości cienia do wymagań projektu.

Pamiętaj, że zastosowanie cienia może nie działać, jeśli AppBar używasz już elewacji. W takich przypadkach może być konieczne użycie niestandardowych widżetów lub dostosowanie projektu, aby uwzględnić oba efekty.