fix(home): 重绘二级筛选三线图标
This commit is contained in:
1 parent
8197abd55d
commit
448010115f
5 files changed
+48
-13
No files matched your search
@@ -81,6 +81,7 @@ abstract final class AppColors {
|
||||
static const textSecondary = Color(0xFF8E8E93);
|
||||
static const textTertiary = Color(0xFF9E9E9E);
|
||||
static const textTabInactive = Color(0xFFB0B0B0);
|
||||
static const textFilterIcon = Color(0xFF7A7A7E);
|
||||
|
||||
/// 原生开屏与冷启动过渡底色。
|
||||
static const splashInk = ink;
|
||||
|
||||
@@ -113,7 +113,8 @@ abstract final class AppDimens {
|
||||
static const double homeSecondaryTagRadius = 13;
|
||||
static const double homeSecondaryFilterGap = 8;
|
||||
static const double homeSecondaryFilterVisualSize = 26;
|
||||
static const double homeSecondaryFilterIcon = 18;
|
||||
static const double homeSecondaryFilterIcon = 16;
|
||||
static const double homeSecondaryFilterStroke = 1.7;
|
||||
static const double homePrimaryCategoryGap = 24;
|
||||
static const double homeSecondaryTagGap = 14;
|
||||
static const double homeSearchTopGap = 0;
|
||||
|
||||
@@ -342,10 +342,12 @@ class HomeGridHeader extends StatelessWidget {
|
||||
child: Center(
|
||||
child: SizedBox.square(
|
||||
dimension: AppDimens.homeSecondaryFilterVisualSize,
|
||||
child: const Icon(
|
||||
Icons.filter_list_rounded,
|
||||
color: AppColors.textTertiary,
|
||||
size: AppDimens.homeSecondaryFilterIcon,
|
||||
child: const Center(
|
||||
child: CustomPaint(
|
||||
key: Key('home-secondary-filter-icon'),
|
||||
size: Size.square(AppDimens.homeSecondaryFilterIcon),
|
||||
painter: _ThreeLineFilterPainter(),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -395,3 +397,26 @@ class HomeGridHeader extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _ThreeLineFilterPainter extends CustomPainter {
|
||||
const _ThreeLineFilterPainter();
|
||||
|
||||
@override
|
||||
void paint(Canvas canvas, Size size) {
|
||||
final paint = Paint()
|
||||
..color = AppColors.textFilterIcon
|
||||
..strokeWidth = AppDimens.homeSecondaryFilterStroke
|
||||
..strokeCap = StrokeCap.butt;
|
||||
final positions = [
|
||||
size.height * 0.25,
|
||||
size.height * 0.5,
|
||||
size.height * 0.75,
|
||||
];
|
||||
for (final y in positions) {
|
||||
canvas.drawLine(Offset(0, y), Offset(size.width, y), paint);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
bool shouldRepaint(_ThreeLineFilterPainter oldDelegate) => false;
|
||||
}
|
||||
Reference in new issue
Block a user