import 'package:card_swiper/card_swiper.dart'; import 'package:flutter/material.dart'; import 'package:flutter_wallet/generated/l10n.dart'; import 'package:flutter_wallet/tools/YSTools.dart'; import '../../tools/YSColors.dart'; import '../../tools/YSNetWork.dart'; import '../YSFind.dart'; class YSBannerView extends StatefulWidget { const YSBannerView({Key? key}) : super(key: key); @override YSBannerViewState createState() => YSBannerViewState(); } class YSBannerViewState extends State { List _banners = []; @override void initState() { networkDelay((){ _getBanners(); }); super.initState(); } _getBanners() async{ YSNetWork.ysRequestHttp(context, type: RequestType.get, api: 'banners', parameter: {'lang':S.current.LAUGUAGE=='English'?'en':''}, successSetter: (dict){ _banners = dict['data']['list']??[]; setState(() {}); }); } @override Widget build(BuildContext context) { return _banners.isNotEmpty?Swiper( itemCount: _banners.length, itemBuilder: (context,index){ Map item = _banners[index]; return Padding( padding: EdgeInsets.only(left: hsp(5),right: hsp(5)), child: GestureDetector( onTap: (){ intoPage(context,item['jump_url']); }, child: ClipRRect( borderRadius: const BorderRadius.all(Radius.circular(10)), child: Container( width: ysWidth(context), color: YSColors.containColor(context), child: YSImage.network(item['image_url'],), ), ), ), ); }, pagination: SwiperPagination( builder: DotSwiperPaginationBuilder( color: Colors.white.withOpacity(0.6), activeColor: Colors.white, activeSize: hsp(10), size: hsp(8), ) ), autoplay: true, ):Container(); } }