Files
PiliPlus/lib/common/widgets/select_mask.dart
My-Responsitories f5dbfcec79 tweaks (#2032)
* fix: 1080p

* opt: import export

* opt: downloader

* opt: skeleton

* opt: parseColor

* tweak

* opt: sb seek

* opt: rxn
2026-05-08 20:50:43 +08:00

39 lines
1.0 KiB
Dart

import 'package:PiliPlus/common/style.dart';
import 'package:flutter/material.dart';
Widget selectMask(
ColorScheme colorScheme,
bool checked, {
BorderRadiusGeometry borderRadius = Style.mdRadius,
}) {
return AnimatedOpacity(
opacity: checked ? 1 : 0,
duration: const Duration(milliseconds: 200),
child: Container(
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: borderRadius,
color: Colors.black.withValues(alpha: 0.6),
),
child: AnimatedScale(
scale: checked ? 1 : 0,
duration: const Duration(milliseconds: 250),
curve: Curves.easeInOut,
child: Container(
width: 34,
height: 34,
decoration: BoxDecoration(
color: colorScheme.surface.withValues(alpha: 0.8),
shape: BoxShape.circle,
),
child: Icon(
Icons.done_all_outlined,
color: colorScheme.primary,
semanticLabel: '取消选择',
),
),
),
),
);
}