Files
Makoto Sato 10a89e1421 Add audioplayers for elinux (#96)
Signed-off-by: Makoto Sato <makoto.sato@atmark-techno.com>
2024-05-02 10:59:55 +09:00

53 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
class Tabs extends StatelessWidget {
final List<TabData> tabs;
const Tabs({
required this.tabs,
super.key,
});
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: tabs.length,
child: Scaffold(
body: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
TabBar(
labelColor: Colors.black,
tabs: tabs
.map(
(tData) => Tab(
key: tData.key != null ? Key(tData.key!) : null,
text: tData.label,
),
)
.toList(),
),
Expanded(
child: TabBarView(
children: tabs.map((tab) => tab.content).toList(),
),
),
],
),
),
);
}
}
class TabData {
final String? key;
final String label;
final Widget content;
TabData({
required this.label,
required this.content,
this.key,
});
}