如何在 ListTileTheme 中使用形状?

how to use shape in ListTileTheme?

ListTileTheme(

          shape: ??? ,

          tileColor: MyTheme.redColor,
          contentPadding: EdgeInsets.only(right: 0),
          child: ExpansionTile()
        )

我需要做一个边框半径,我该怎么做?

有几种方法可以做到这一点。您可以使用诸如 ClipRRect 之类的小部件来创建边框半径。

示例:

    return ClipRRect(
      borderRadius: BorderRadius.only(
        topLeft: Radius.circular(32),
        bottomLeft: Radius.circular(32),
      ),
      child: ListTile(),
    );

如果要在ListTileTheme中使用shape参数,可以这样使用RoundedRectangleBorder

return ListTileTheme(
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(16),
  ),
  child: ListTile(),
),

方法一:

Container(
 decoration: BoxDecoration(
   color: MyTheme.redColor,
   borderRadius: BorderRadius.circular(32),
 ),
 child: ListTile(),
)

方法二:

ClipRRect(
   borderRadius: BorderRadius.circular(32),
   child: Container(
     color: MyTheme.redColor,
     child: ListTile(),
   ),
)

方法三:

ListTileTheme(
   shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(16),
   ),
   child: ListTile(
     tileColor: MyTheme.redColor, 
   ),
)

首选:方法 2