Files
2026-07-14 11:11:36 +08:00

66 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import 'player_panel_shell.dart';
class PlayerDrawerPanel extends StatelessWidget {
final String title;
final VoidCallback onBack;
final Widget child;
const PlayerDrawerPanel({
super.key,
required this.title,
required this.onBack,
required this.child,
});
@override
Widget build(BuildContext context) {
return Material(
color: Colors.transparent,
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
_header(),
panelDivider(),
Flexible(
child: SingleChildScrollView(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
child: child,
),
),
],
),
);
}
Widget _header() {
return Padding(
padding: const EdgeInsets.fromLTRB(4, 4, 12, 4),
child: Row(
children: [
IconButton(
icon: const Icon(
Icons.arrow_back_ios_new,
color: Colors.white70,
size: 15,
),
onPressed: onBack,
padding: EdgeInsets.zero,
constraints: const BoxConstraints(minWidth: 36, minHeight: 36),
tooltip: '返回',
),
Text(
title,
style: const TextStyle(
color: Colors.white,
fontSize: 15,
fontWeight: FontWeight.w600,
),
),
],
),
);
}
}