flutter showModalBottomSheet 里面的list 自適應(yīng)高度

核心代碼 在 SingleChildScrollView 外面包裹一個(gè) Container 并設(shè)置 maxHeight

class CacheSelAlertView extends StatefulWidget {
  const CacheSelAlertView({Key? key}) : super(key: key);

  @override
  _CacheSelAlertViewState createState() => _CacheSelAlertViewState();
}

class _CacheSelAlertViewState extends State<CacheSelAlertView> {
  @override
  
  Widget build(BuildContext context) {
    return Container(
      decoration: const BoxDecoration(
          color: SCColors.color_F2F3F5,
          borderRadius: BorderRadius.only(
              topLeft: Radius.circular(12.0),
              topRight: Radius.circular(12.0))),
      child: SafeArea(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            titleItem(context),
            Container(
              constraints: BoxConstraints(
                  maxHeight: SCUtils().getScreenHeight() - 260,
                  minHeight: 282
              ),
              child: SingleChildScrollView(
                child:  Container(
                  margin: EdgeInsets.all(12),
                  child: ListView.separated(
                      shrinkWrap: true,
                      physics: const NeverScrollableScrollPhysics(),
                      itemBuilder: itemBuilder,
                      separatorBuilder: separatorBuilder,
                      itemCount: 2),),
              ),
            )
          ],
        ),
      ),
    );
  }

 Widget itemBuilder(BuildContext context, int index){
    return Container(
      height: 48,
      decoration: BoxDecoration(
        color: Colors.white
      ),
      child: Row(
        children: [
          Image.asset(SCAsset.iconCacheDel,width: 22,),
          Text('ddd',style: TextStyle(fontSize: 16),maxLines: 2,)
        ],
      ),
    );
  }

  Widget separatorBuilder (BuildContext context ,int index){
    return const Padding(padding: EdgeInsets.only(left: 16,right: 16),child: Divider(height: 1,),);
  }

  Widget titleItem(BuildContext context) {

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

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

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