Flutter collapsebox 用來管理展開子組件的widget

collapsebox

collapsebox 用來管理展開子組件的widget.

使用方法

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  ...
    
  collapsebox: ^1.0.0

collapsebox 基礎(chǔ)用法:

Widget buildColumnStretchedBoxWidget() {
  return ColumnCollapseBoxWidget(
    bottomArrowImageRes: 'images/image_down_expand.png',// 箭頭圖片資源
    bottomBarColor: Colors.white,// 箭頭圖片所在空間背景顏色
//      collapseboxState: CollapseBoxState.normal,// normal 默認(rèn)模式
    alwaysShowChild: Container(// 總是顯示的區(qū)域
      color: Colors.white,
      child: Column(
        children: normalList,
      ),
    ),
    collapsedChild: Container(// 展開時才會展示的區(qū)域
      color: Colors.black12,
      child: Column(
        children: [...expandList],
      ),
    ),
  );
}

collapsebox 自定義底部控件的用法:

Widget buildColumnCollapseBoxWidget() {
  return ColumnCollapseBoxWidget(
    ...
    bottomBarWidget: (context, collapseboxViewModel) {// 底部控件自定義配置
      Widget text;
      if (collapseboxViewModel?.isExpand() ?? false) {
        text = Text("點(diǎn)擊折疊");
      } else {
        text = Text("點(diǎn)擊展開");
      }

      return GestureDetector(
        behavior: HitTestBehavior.opaque,
        onTap: () {
          collapseboxViewModel?.switchCollapseBoxMode();
        },
        child: Container(
          height: 32,
          width: double.infinity,
          color: Colors.deepPurpleAccent,
          child: Center(
            child: text,
          ),
        ),
      );
    },
  );
}

允許自定義設(shè)置底部控件.

運(yùn)行截圖:

查閱 案例.

實(shí)現(xiàn)思路

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容