app-starlock/star_lock/lib/tools/titleAppBar.dart
2023-07-15 15:11:28 +08:00

41 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class TitleAppBar extends AppBar {
@override
final Color? backgroundColor;
final String? barTitle;
final Color? titleColor;
final Color? iconColor;
final bool? haveTitleWidget;
final Widget? titleWidget;
final bool? haveBack;
final bool? haveOtherLeftWidget;
final Widget? leftWidget;
List<Widget>? actionsList;
TitleAppBar({Key? key,this.barTitle,this.titleColor, this.haveTitleWidget = false, this.titleWidget, this.iconColor,this.backgroundColor,this.actionsList, this.haveBack, this.haveOtherLeftWidget = false , this.leftWidget}) : super(key: key);
@override
_TitleAppBarState createState() => _TitleAppBarState();
}
class _TitleAppBarState extends State<TitleAppBar> {
@override
Widget build(BuildContext context) {
return AppBar(
elevation: 0,
leading:widget.haveOtherLeftWidget!?widget.leftWidget:(widget.haveBack!?IconButton(
icon: Icon(Icons.arrow_back_ios,color: widget.iconColor??Colors.white),
onPressed: () => Navigator.of(context).pop(),
):Container()),
backgroundColor: widget.backgroundColor??Colors.white,
title: widget.haveTitleWidget!?widget.titleWidget:Text(widget.barTitle??'', style: TextStyle(color: widget.titleColor??Colors.white,fontSize: 36.sp, fontWeight:FontWeight.w500)),
centerTitle: true,
actions: widget.actionsList??[]
);
}
}