82 lines
2.5 KiB
Dart
82 lines
2.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:google_fonts/google_fonts.dart';
|
|
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
|
import 'package:hub/shared/utils/limited_text_size.dart';
|
|
|
|
// ignore: must_be_immutable
|
|
class TabViewUtil extends StatelessWidget {
|
|
final BuildContext context;
|
|
final dynamic model;
|
|
String labelTab1;
|
|
String labelTab2;
|
|
final TabController controller;
|
|
final Function([bool]) onEditingChanged;
|
|
Widget widget1;
|
|
Widget widget2;
|
|
|
|
TabViewUtil({
|
|
super.key,
|
|
required this.onEditingChanged,
|
|
required this.context,
|
|
required this.model,
|
|
required this.labelTab1,
|
|
required this.labelTab2,
|
|
required this.controller,
|
|
required this.widget1,
|
|
required this.widget2,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return SafeArea(
|
|
top: true,
|
|
child: Column(
|
|
children: [
|
|
Align(
|
|
alignment: const Alignment(0.0, 0),
|
|
child: TabBar(
|
|
labelColor: FlutterFlowTheme.of(context).primaryText,
|
|
unselectedLabelColor: FlutterFlowTheme.of(context).primaryText,
|
|
labelStyle: FlutterFlowTheme.of(context).titleMedium.override(
|
|
fontFamily: FlutterFlowTheme.of(context).titleMediumFamily,
|
|
fontSize: LimitedFontSizeUtil.getBodyFontSize(context),
|
|
letterSpacing: 0.0,
|
|
useGoogleFonts: GoogleFonts.asMap().containsKey(
|
|
FlutterFlowTheme.of(context).titleMediumFamily),
|
|
),
|
|
unselectedLabelStyle: const TextStyle(),
|
|
indicatorColor: FlutterFlowTheme.of(context).primary,
|
|
padding: const EdgeInsets.all(4.0),
|
|
tabs: [
|
|
Tab(
|
|
key: ValueKey('TabView_Tab1'),
|
|
text: labelTab1,
|
|
),
|
|
Tab(
|
|
key: ValueKey('TabView_Tab2'),
|
|
text: labelTab2,
|
|
),
|
|
],
|
|
controller: controller,
|
|
onTap: (i) async {
|
|
onEditingChanged();
|
|
[() async {}, () async {}][i]();
|
|
},
|
|
),
|
|
),
|
|
Expanded(
|
|
child: TabBarView(
|
|
controller: controller,
|
|
children: [
|
|
widget1,
|
|
widget2,
|
|
],
|
|
),
|
|
),
|
|
// Adicione o conteúdo do TabBarView aqui
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|