时间:2021-05-20
实现轮播图,效果如下:
将采用 banner_view 实现:资源库地址
在 pubspec.yaml 声明需要引用的库,执行命令 flutter packages get 进行拉取即可使用。
banner_view: "^1.1.2"
在资源库地址下方,作者提供了 banner_view 的几种展示方式。
import 'package:flutter/material.dart';import 'package:banner_view/banner_view.dart';import 'Pair.dart';import 'factory/BannerItemFactory.dart';class BannerViewPage extends StatefulWidget { @override _BannerViewPageState createState() => new _BannerViewPageState();}class _BannerViewPageState extends State<BannerViewPage> { @override Widget build(BuildContext context) { return new Scaffold( body: new Container( child: new Column( children: <Widget>[ new Container( alignment: Alignment.center, height: 200.0, child: this._bannerView0(), padding: EdgeInsets.only(bottom: 10.0), ) ], ), ), ); } /** * 第一种方式 */ BannerView _bannerView0() { // 盛放图片的 List List<Pair<String, Color>> param = [ Pair.create('https://p5.ssl.qhimg.com/dm/456_209_/t01f43c5849ef5f521a.jpg', Colors.red[500]), Pair.create('https://p.ssl.qhimg.com/t0171bb61911ebe8899.jpg', Colors.green[500]), Pair.create('https://p.ssl.qhimg.com/t01ee77978d3a95a3ae.jpg', Colors.blue[500]), ]; return new BannerView( BannerItemFactory.banners(param), );// return new BannerView(// BannerItemFactory.banners(param),// indicatorMargin: 10.0,// indicatorNormal: new Container(// width: 5.0,// height: 5.0,// decoration: new BoxDecoration(// color: Colors.green,// shape: BoxShape.rectangle,// ),// ),// indicatorSelected: new Container(// width: 15.0,// height: 5.0,// decoration: new BoxDecoration(// color: Colors.black,// shape: BoxShape.rectangle,// borderRadius: new BorderRadius.all(// new Radius.circular(5.0),// ),// ),// ),// indicatorBuilder: (context, indicator) {// Widget cc = new Container(// padding: new EdgeInsets.symmetric(horizontal: 20.0,),// height: 44.0,// width: double.infinity,// color: Colors.grey[300],// child: indicator,// );// return new Opacity(// opacity: 0.5,// child: cc,// );// },// ); } /** * 第二种方式 */ BannerView _bannerView() { var pre = 'https://raw.githubusercontent.com/yangxiaoweihn/Assets/master'; List<Pair<String, Color>> param = [ Pair.create('https://raw.githubusercontent.com/yangxiaoweihn/Assets/master/cars/car_0.jpg', Colors.red[100]), Pair.create('https://raw.githubusercontent.com/yangxiaoweihn/Assets/master/cartoons/ct_0.jpg', Colors.green[100]), Pair.create('https://raw.githubusercontent.com/yangxiaoweihn/Assets/master/pets/cat_1.jpg', Colors.blue[100]), Pair.create('https://raw.githubusercontent.com/yangxiaoweihn/Assets/master/scenery/s_1.jpg', Colors.yellow[100]), Pair.create('https://raw.githubusercontent.com/yangxiaoweihn/Assets/master/cartoons/ct_1.jpg', Colors.red[100]),// Pair.create('$pre/cartoons/ct_1.jpg', Colors.red[100]), ]; return new BannerView( BannerItemFactory.banners(param), indicatorMargin: 10.0, indicatorNormal: new Container( width: 5.0, height: 5.0, decoration: new BoxDecoration( color: Colors.green, shape: BoxShape.rectangle, ), ), indicatorSelected: new Container( width: 15.0, height: 5.0, decoration: new BoxDecoration( color: Colors.black, shape: BoxShape.rectangle, borderRadius: new BorderRadius.all( new Radius.circular(5.0), ), ), ), indicatorBuilder: (context, indicator) { Widget cc = new Container( padding: new EdgeInsets.symmetric(horizontal: 20.0,), height: 44.0, width: double.infinity, color: Colors.grey[300], child: indicator, ); return new Opacity( opacity: 0.5, child: cc, ); }, ); }}总结
以上所述是小编给大家介绍的Flutter banner_view 轮播图的使用及实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
拼多多近日推出了拼多多店铺banner图评分准则及轮播图上传要求及设计规范参考,各位拼多多商家务必注意!店铺banner图评分标准拼多多将店铺banner图划分
本文实例为大家分享了JS轮播图的实现代码,供大家参考,具体内容如下需求:自动轮播,鼠标移入轮播停止、移出继续,小圆点点击切图,左右箭头切图效果图:![轮播图]思
废话不多说了,直接给大家贴代码了。无缝轮播图:无缝轮播图*{margin:0;padding:0;}ul{list-style:none;}.banner{wi
效果图:实现代码:复制代码代码如下:Jquery自动轮播效果.spanhide{display:none;}#topa:hover{color:red;}123
本文实例为大家分享了jquery无缝轮播图的实现代码,供大家参考,具体内容如下无缝轮播图*{margin:0;padding:0;}ul{list-style: