如何在 ListTileTheme 中使用形状?

问题描述

ListTileTheme(

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

我需要做一个 border-radius ,我该怎么做?

解决方法

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

示例:

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

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

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

方法一:

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

方法 2:

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

方法 3:

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

首选:方法 2