import 'package:flutter/material.dart'; class MyAppbar extends StatelessWidget implements PreferredSizeWidget { final String title; final VoidCallback? onBackPressed; final Color backgroundColor; final Color textColor; final List? actions; // 👉 新增参数:右侧按钮 const MyAppbar({ Key? key, required this.title, this.onBackPressed, this.backgroundColor = Colors.blue, this.textColor = Colors.white, this.actions, }) : super(key: key); @override Size get preferredSize => const Size.fromHeight(kToolbarHeight); @override Widget build(BuildContext context) { return AppBar( backgroundColor: backgroundColor, automaticallyImplyLeading: false, centerTitle: true, title: Text( title, style: TextStyle( color: textColor, fontSize: 18, fontWeight: FontWeight.bold, ), ), leading: _buildBackButton(context), actions: actions, // 👉 设置右侧按钮 ); } Widget _buildBackButton(BuildContext context) { return IconButton( icon: const Icon(Icons.arrow_back_ios, color: Colors.white, size: 20), onPressed: onBackPressed ?? () => Navigator.of(context).pop(), ); } }