import 'package:flutter/material.dart'; import 'package:skywood/main/lib_file.dart'; import 'package:skywood/utils/tools/widgets/sky_common_widget.dart'; class LikeHeader extends StatefulWidget { const LikeHeader({super.key, required this.onSelectedIndex, required this.initIndex, }); final Function(int) onSelectedIndex; final int initIndex; @override State createState() { return _LikeHeaderState(); } } class _LikeHeaderState extends State { int _selectedIndex = 0; @override void initState() { super.initState(); if (widget.initIndex != 0) { if (!mounted) return; setState(() { _selectedIndex = widget.initIndex; }); } } @override Widget build(BuildContext context) { return SizedBox( height: 55, child: Row( children: [ _buildCollectionBg(0, 'My collection'), _buildCollectionBg(1, 'Play Log'), ], ), ); } // shadows: [Shadow(offset: Offset(1, 1), blurRadius: 0, color: Color(0xFF040408).withOpacity(1.00))], Widget _buildCollectionBg(int index, String title) { String img = index == _selectedIndex ? ConstImg.likeSelectedBg : ConstImg.likeUnselectBg; return SizedBox( width: 155.w, height: 55, child: Stack( children: [ HelpImg.asset(img, width: 155.w, height: 55, fit: BoxFit.fill), Positioned( right: 22, bottom: 12, left: 28, child: SkyText(text: title, fontSize: 14, fontWeight: FontWeight.w800, color: index == _selectedIndex ? Colors.white : CommonColor.withValue('B1B1B1'), shadow: index == _selectedIndex ? Shadow(offset: Offset(1, 1), blurRadius: 0, color: Color(0xFF040408).withOpacity(1.00)) : null, textAlign: TextAlign.center, ), ) ], ), ).addInkWell(onTap: () { if (_selectedIndex == index) return; setState(() { _selectedIndex = index; }); widget.onSelectedIndex(index); },); } _buildLogBg() { return Container( width: 160.w, height: 55, child: HelpImg.asset(ConstImg.playlogBg, fit: BoxFit.fill), ).addInkWell(onTap: () { if (_selectedIndex == 1) return; setState(() { _selectedIndex = 1; }); },); } }