溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

flutter實現(xiàn)輪播圖效果

發(fā)布時間:2020-09-16 15:23:07 來源:腳本之家 閱讀:184 作者:早起的年輕人 欄目:移動開發(fā)

本文實例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下

1 添加依賴庫

flutter_swiper: ^1.0.6

2 普通常用 圓點指示器自動輪播圖

flutter實現(xiàn)輪播圖效果

class SwiperViewDefaultPage extends StatefulWidget {
 @override
 State<StatefulWidget> createState() {
  return new SwiperViewDefaultPageState();
 }
}

class SwiperViewDefaultPageState
  extends BaseAppBarPageState<SwiperViewDefaultPage> {
 @override
 String buildInitState() {
  buildBackBar("輪播圖", backIcon: Icons.arrow_back_ios);
  return null;
 }

 @override
 Widget buildWidget(BuildContext context) {
  print("build --");
  return new Column(
   children: <Widget>[
    Padding(
     padding: EdgeInsets.all(10),
    ),
    buildStyle1(),
   ],
  );
 }

 // 分頁指示器
 buildSwiperPagination() {
  return SwiperPagination(
   //指示器顯示的位置
   alignment: Alignment.bottomCenter, // 位置 Alignment.bottomCenter 底部中間
   // 距離調(diào)整
   margin: const EdgeInsets.fromLTRB(0, 0, 0, 5),
   // 指示器構(gòu)建
   builder: DotSwiperPaginationBuilder(
     // 點之間的間隔
     space: 2,
     // 沒選中時的大小
     size: 6,
     // 選中時的大小
     activeSize: 12,
     // 沒選中時的顏色
     color: Colors.black54,
     //選中時的顏色
     activeColor: Colors.white),
  );
 }

 //banner 圖
 Widget buildStyle1() {
  return Container(
   height: 200.0,
   child: new Swiper(
    // 橫向
    scrollDirection: Axis.horizontal,
    // 布局構(gòu)建
    itemBuilder: (BuildContext context, int index) {
     return new Image.network(
      "http://hbimg.b0.upaiyun.com/a3e592c653ea46adfe1809e35cd7bc58508a6cb94307-aaO54C_fw658",
      fit: BoxFit.fill,
     );
    },
    //條目個數(shù)
    itemCount: 6,
    // 自動翻頁
    autoplay: true,
    // 分頁指示
    pagination: buildPlugin(),
    //點擊事件
    onTap: (index) {
     print(" 點擊 " + index.toString());
    },
    // 相鄰子條目視窗比例
    viewportFraction: 1,
    // 布局方式
    //layout: SwiperLayout.STACK,
    // 用戶進行操作時停止自動翻頁
    autoplayDisableOnInteraction: true,
    // 無線輪播
    loop: true,
    //當前條目的縮放比例
    scale: 1,
   ),
  );
 }

 buildPlugin() {
  return SwiperPagination();
 }
}

3 自定圓點分頁指示器 效果

flutter實現(xiàn)輪播圖效果

 //自定圓點分頁指示器
 buildSwiperPagination() {
  // 分頁指示器
  return SwiperPagination(
   //指示器顯示的位置
   alignment: Alignment.bottomCenter, // 位置 Alignment.bottomCenter 底部中間
   // 距離調(diào)整
   margin: const EdgeInsets.fromLTRB(0, 0, 0, 5),
   // 指示器構(gòu)建
   builder: DotSwiperPaginationBuilder(
     // 點之間的間隔
     space: 2,
     // 沒選中時的大小
     size: 6,
     // 選中時的大小
     activeSize: 12,
     // 沒選中時的顏色
     color: Colors.black54,
     //選中時的顏色
     activeColor: Colors.white),
  );
 }

 //定義輪播圖組件
 Widget buildStyle1() {
  return Container(
   height: 200.0,
   child: new Swiper(
    // 橫向
    scrollDirection: Axis.horizontal,
    // 布局構(gòu)建
    itemBuilder: (BuildContext context, int index) {
     return new Image.network(
      "http://hbimg.b0.upaiyun.com/a3e592c653ea46adfe1809e35cd7bc58508a6cb94307-aaO54C_fw658",
      fit: BoxFit.fill,
     );
    },
    //條目個數(shù)
    itemCount: 6,
    // 自動翻頁
    autoplay: true,
    // 分頁指示
    pagination: buildSwiperPagination(),
    //點擊事件
    onTap: (index) {
     print(" 點擊 " + index.toString());
    },
    // 視窗比例
    viewportFraction: 1,
    // 布局方式
    //layout: SwiperLayout.STACK,
    // 用戶進行操作時停止自動翻頁
    autoplayDisableOnInteraction: true,
    // 無線輪播
    loop: true,
    scale: 1,
   ),
  );
 }

4 自定數(shù)字 分頁指示器 效果

flutter實現(xiàn)輪播圖效果

 //自定義分頁指示器
 buildSwiperPagination() {
  // 分頁指示器
  return SwiperPagination(
   //指示器顯示的位置
   alignment: Alignment.bottomCenter, // 位置 Alignment.bottomCenter 底部中間
   // 距離調(diào)整
   margin: const EdgeInsets.fromLTRB(0, 0, 0, 5),
   // 指示器構(gòu)建
   builder: FractionPaginationBuilder(
     // 選中時字體大小
     activeFontSize: 14,
     // 字體大小
     fontSize: 14,
      // 字體顏色
     color: Colors.red,
     //選中時的顏色
     activeColor: Colors.blue),
  );
 }

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI