For at påføre en kasseskygge på en TabBar
in Flutter, kan du pakke den ind i en Container
og bruge BoxDecoration
egenskaben. Her er et eksempel:
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),
],
),
),
);
}
}
Hvis du vil tilføje en skyggeeffekt til TabBar
, kan du pakke TabBar
ind i en Container
og anvende 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'),
],
),
),
I dette eksempel BoxShadow
bruges den til at skabe en skyggeeffekt for TabBar
. Du kan tilpasse farven, spredningsradius, sløringsradius og offset for at opnå det ønskede skyggeudseende.
Husk at justere skyggeegenskaberne, så de matcher dine designkrav.
Bemærk venligst, at påføring af en skygge muligvis ikke virker, hvis du AppBar
allerede bruger elevation. I sådanne tilfælde skal du muligvis bruge brugerdefinerede widgets eller justere designet for at imødekomme begge effekter.