Flutter ボックス シャドウ付き TabBar: 実装ガイド

ボックス シャドウを a TabBar に適用するには Flutter 、それを a でラップし ContainerBoxDecoration プロパティを使用します。 以下に例を示します。

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。 このような場合、カスタム ウィジェットを使用するか、両方の効果に対応できるようにデザインを調整する必要がある場合があります。