外出的可禁内容

问题描述

我有一个带有小部件列表的屏幕,每个宽幅都是一个 dismissible,里面有一个 ListTile,但是当我滑动时,内容在外面(如红色箭头所指),这可能是由于填充而发生的在 dismissible 周围。有办法解决吗?

enter image description here

解决方法

您没有在问题中提供代码示例,所以我制作了这种类型的小部件来解决这个问题。请参考代码,(可能对你有帮助),

class _MyHomePageState extends State<MyHomePage> {
  final itemsList = List<String>.generate(10,(n) => "List item ${n}");

  ListView generateItemsList() {
    return ListView.builder(
      itemCount: itemsList.length,itemBuilder: (context,index) {
          return Container(
            margin: EdgeInsets.symmetric(horizontal: 50,vertical: 10),child: Dismissible(
              key: Key(itemsList[index]),background: slideRightBackground(),secondaryBackground: slideLeftBackground(),child: InkWell(
                  onTap: () {
                    print("${itemsList[index]} clicked");
                  },child: ListTile(
                    tileColor: Colors.yellow,title: Text('${itemsList[index]}'))),),);
        }
    );
  }

  Widget slideRightBackground() {
    return Container(
      color: Colors.green,child: Align(
        child: Row(
          mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[
            SizedBox(
              width: 20,Icon(
              Icons.edit,color: Colors.white,Text(
              " Edit",style: TextStyle(
                color: Colors.white,fontWeight: FontWeight.w700,textAlign: TextAlign.left,],alignment: Alignment.centerLeft,);
  }

  Widget slideLeftBackground() {
    return Container(
      color: Colors.red,child: Align(
        child: Row(
          mainAxisAlignment: MainAxisAlignment.end,children: <Widget>[
            Icon(
              Icons.delete,Text(
              " Delete",textAlign: TextAlign.right,SizedBox(
              width: 20,alignment: Alignment.centerRight,);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),body: generateItemsList(),);
  }
}

输出:

enter image description here