簡體   English   中英

如何調整 flutter 中的 ListTile 寬度

[英]How to tweak ListTile width in flutter

現在我在 flutter 中使用這樣的 ListTile:

ClipRRect(
              borderRadius: BorderRadius.circular(10),
              child: Container(
                  color: Colors.white,
                  child: ListTile(
                    leading: Icon(Feather.settings),
                    title: Text("設置"),
                    onTap: () async {
                      Widget page = CustomSetting();
                      Navigator.push(
                        context,
                        MaterialPageRoute(builder: (context) => page),
                      );
                    },
                  ))
          )

這是現在的結果:

在此處輸入圖像描述

現在我希望 ListTile 不填滿屏幕寬度,保持左側和右側有一些間隙,但是當我調整 Container 的寬度時它沒有任何變化,我應該怎么做才能讓它工作? 效果可能是這樣的:

在此處輸入圖像描述

我添加了這樣的填充但仍然不起作用:

ClipRRect(
              borderRadius: BorderRadius.circular(10),
              child: Container(
                  color: Colors.white,
                  //margin: const EdgeInsets.only(left: 20.0, right: 20.0),
                  child: Padding(
                      padding: EdgeInsets.symmetric(horizontal: 40),
                      child: ListTile(
                        leading: Icon(Feather.settings),
                        title: Text("設置"),
                        onTap: () async {
                          Widget page = CustomSetting();
                          Navigator.push(
                            context,
                            MaterialPageRoute(builder: (context) => page),
                          );
                        },
                      ))))

將其包含在 Padding 小部件中。

ClipRRect(
    borderRadius: BorderRadius.circular(10),
    child: Container(
        color: Colors.white,
        child: Padding(
            padding: EdgeInsets.fromLTRB(100, 30, 100, 30),
            child: ListTile(
                leading: Icon(Feather.settings),
                title: Text("設置"),
                onTap: () async {
                Widget page = CustomSetting();
                Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context) => page),
                    );
                }, 
                )// ListTile
            ) // Padding
        ) // Container
) //  ClipRRect 

用填充包裹你的 ClipRRect

Padding(
          padding: EdgeInsets.only(left:10,right:10),
        child:ClipRRect(
              borderRadius: BorderRadius.circular(10),
              child: Container(
                  color: Colors.white,
                  child: ListTile(
                    leading: Icon(Icons.settings),
                    title: Text("設置"),
                  ))
          ),
        ),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM