Browse Source

优化vip展示

master
王子贤 3 months ago
parent
commit
4177d7d66d
1 changed files with 17 additions and 20 deletions
  1. 37
      lib/pages/mine/vip_page.dart

37
lib/pages/mine/vip_page.dart

@ -32,6 +32,12 @@ class _VipPageState extends State<VipPage> {
{"img": Assets.imagesVipVoice, "label": "语音弹幕"}, {"img": Assets.imagesVipVoice, "label": "语音弹幕"},
]; ];
List<Map> vipList = [
{"title": "12个月", "mouthPrice": "18.2", "price": "218"},
{"title": "3个月", "mouthPrice": "19.3", "price": "58"},
{"title": "1个月", "mouthPrice": "30", "price": "30"},
];
int payActive = 0; int payActive = 0;
final Fluwx fluwx = Fluwx(); final Fluwx fluwx = Fluwx();
@ -195,22 +201,12 @@ class _VipPageState extends State<VipPage> {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
VipItem(active: vipActive, index: 0,).onTap((){
vipActive = 0;
setState(() {
});
}),
VipItem(active: vipActive, index: 1,).onTap((){
vipActive = 1;
setState(() {
});
}),
VipItem(active: vipActive, index: 2,).onTap((){
vipActive = 2;
setState(() {
...vipList.asMap().entries.map((entry){
return VipItem(active: vipActive, index: entry.key, item: entry.value,).onTap((){
vipActive = entry.key;
setState(() {
});
}); });
}), }),
], ],
@ -474,7 +470,8 @@ class _VipPageState extends State<VipPage> {
class VipItem extends StatefulWidget { class VipItem extends StatefulWidget {
final int index; final int index;
final int active; final int active;
const VipItem({super.key, required this.index, required this.active});
final Map item;
const VipItem({super.key, required this.index, required this.active, required this.item});
@override @override
State<VipItem> createState() => _VipItemState(); State<VipItem> createState() => _VipItemState();
@ -514,7 +511,7 @@ class _VipItemState extends State<VipItem> {
child: Column( child: Column(
children: [ children: [
Text( Text(
"3个月",
"${widget.item["title"]}",
style: TextStyle( style: TextStyle(
fontSize: 11.w, fontSize: 11.w,
fontWeight: FontWeight.w700 fontWeight: FontWeight.w700
@ -522,7 +519,7 @@ class _VipItemState extends State<VipItem> {
), ),
SizedBox(height: 2.w,), SizedBox(height: 2.w,),
Text( Text(
"29.3/月",
"${widget.item["mouthPrice"]}/月",
style: TextStyle( style: TextStyle(
fontSize: 11.w, fontSize: 11.w,
color: const Color.fromRGBO(144, 144, 144, 1) color: const Color.fromRGBO(144, 144, 144, 1)
@ -543,7 +540,7 @@ class _VipItemState extends State<VipItem> {
) )
), ),
TextSpan( TextSpan(
text: "88",
text: "${widget.item["price"]}",
style: TextStyle( style: TextStyle(
fontSize: 23.w fontSize: 23.w
) )
@ -554,7 +551,7 @@ class _VipItemState extends State<VipItem> {
], ],
), ),
), ),
Positioned(
if(widget.active == widget.index) Positioned(
left: 0, left: 0,
top: -5.w, top: -5.w,
child: Stack( child: Stack(

Loading…
Cancel
Save