import 'package:flutter/material.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; /// /// 我的团队 - 粉丝信息 /// class TeamFansItem extends StatefulWidget { @override _TeamFansItemState createState() => _TeamFansItemState(); } class _TeamFansItemState extends State { @override Widget build(BuildContext context) { return _getMainWidget(); } /// 主体视图 Widget _getMainWidget() { return Container( decoration: BoxDecoration(color: HexColor.fromHex('#FFFFFF'), borderRadius: BorderRadius.circular(10)), margin: const EdgeInsets.only(left: 12.5, right: 12.5, top: 8), padding: const EdgeInsets.only(left: 20, right: 20, top: 17.5, bottom: 15), child: Column( children: [ // 粉丝头像信息等 _getFansInfoWidget(), const SizedBox(height: 10), // 微信号码 _getWXNumberInfoWidget(), const SizedBox(height: 10), // 数据信息 _getDataWidget(), ], ), ); } /// 粉丝头像信息等 Widget _getFansInfoWidget() { return Row( children: [ /// 头像 Container(width: 50, height: 50, color: Colors.red), const SizedBox(width: 10), /// 信息 Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ /// 会员等级 关系 昵称 RichText( text: TextSpan(text: '', children: [ /// 等级 WidgetSpan(child: Container(width: 37, height: 13, color: Colors.red)), /// 会员关系 WidgetSpan(child: Container(width: 13, height: 13, color: Colors.red, margin: const EdgeInsets.only(left: 3, right: 3))), /// 会员名称 TextSpan(text: '温***哥', style: TextStyle(color: HexColor.fromHex('#333333'), fontSize: 12, fontWeight: FontWeight.bold)) ]), ), /// 手机号码 RichText( text: TextSpan(text: '', children: [ /// 手机号码 TextSpan(text: '手机号:', style: TextStyle(color: HexColor.fromHex('#333333'), fontSize: 11)), TextSpan(text: '124****6124', style: TextStyle(color: HexColor.fromHex('#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')), /// 复制按钮 WidgetSpan(child: Container(width: 11, height: 11, color: Colors.red, margin: const EdgeInsets.only(left: 3))) ]), ), ], ) ], ); } /// 微信号码信息 Widget _getWXNumberInfoWidget() { return Container( padding: const EdgeInsets.only(left: 9, right: 10, bottom: 6.5, top: 6.5), decoration: BoxDecoration( color: HexColor.fromHex('#F7F7F7'), borderRadius: BorderRadius.circular(10), ), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ /// 微信号码 RichText( text: TextSpan(text: '微信号:', style: TextStyle(color: HexColor.fromHex('#999999'), fontSize: 11, fontWeight: FontWeight.bold), children: [ TextSpan( text: '54A78', style: TextStyle(fontWeight: FontWeight.bold, color: HexColor.fromHex('#333333'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')), WidgetSpan(child: Container(margin: const EdgeInsets.only(left: 5.5), color: Colors.red, width: 11, height: 11)) ]), ), /// 最近登陆时间 Text('最近登陆 2019-06-28', style: TextStyle(color: HexColor.fromHex('#909090'), fontSize: 11, fontFamily: 'Din', package: 'zhiying_base_widget')) ], ), ); } /// 数据信息 Widget _getDataWidget() { return Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ /// 左边数据 Flexible( flex: 1, child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ /// 邀请人数(人) _getCustomWidget( text: '邀请人数(人)', textColor: '#333333', textSize: 10, number: '1578', numberColor: '#FF4242', numberSize: 20, ), const SizedBox(height: 15), /// 今日邀请 & 本月邀请 Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ /// 今日邀请 _getCustomWidget( text: '今日邀请', textColor: '#909090', textSize: 10, number: '3258', numberColor: '#333333', numberSize: 15, ), /// 本月邀请 _getCustomWidget( text: '本月邀请', textColor: '#909090', textSize: 10, number: '3258', numberColor: '#333333', numberSize: 15, ), ], ) ], ), ), /// 分割线 SizedBox( height:65.5, width: 0.5,child: VerticalDivider(width: 0.5, thickness: 0.5, color: HexColor.fromHex('#F7F7F7'))), /// 右边数据 Flexible( flex: 1, child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ /// 累计收益(¥) _getCustomWidget( text: '累计收益(¥)', textColor: '#333333', textSize: 10, number: '157.54', numberColor: '#FF4242', numberSize: 20, ), const SizedBox(height: 15), /// 近7天收益 & 本月收益 Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ /// 今日邀请 _getCustomWidget( text: '近7天收益', textColor: '#909090', textSize: 10, number: '4.12', numberColor: '#333333', numberSize: 15, ), /// 本月邀请 _getCustomWidget( text: '本月收益', textColor: '#909090', textSize: 10, number: '528.14', numberColor: '#333333', numberSize: 15, ), ], ) ], ), ) ], ); } /// 自定义Widget(数字加粗) Widget _getCustomWidget({String text, String textColor, double textSize, String number, String numberColor, double numberSize, String icon}) { return Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ /// Number Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ /// nummber\ Text(number, style: TextStyle(color: HexColor.fromHex(numberColor), fontSize: numberSize, fontWeight: FontWeight.bold, fontFamily: 'Din', package: 'zhiying_base_widget')), const SizedBox(width: 3), /// icon Visibility(visible: !EmptyUtil.isEmpty(icon), child: Container(height: 7, width: 5, color: Colors.red)) ], ), /// Text Text(text, style: TextStyle(color: HexColor.fromHex(textColor), fontSize: textSize)) ], ); } }