点击 ListView Flutter 布局中的整行

Tim*_*Sim 4 dart flutter flutter-layout

所以我有一个设置屏幕,ListView我希望用户能够点击整个列表行来更改该设置。但是,我似乎找不到一种非疯狂的方法来扩展 的子项GestureDetector以填充整个水平空间。

我的列表视图:

ListView(
    children: [
      GestureDetector(
        onTap: () {
          print('tapped the row');
        },
        child: Padding(
          padding: EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Text('Totals expressed in', style: TextStyle(fontSize: 16.0)),
              Text('Percentages', style: TextStyle(color: Colors.black54, fontSize: 15.0)),
            ],
          ),
        ),
      ),
      Divider(height: 1.0),
      // followed by other elements in the list view
Run Code Online (Sandbox Code Playgroud)

这将检测点击,但仅检测文本元素水平占据的空间(屏幕宽度的一小部分)。我知道这个Expanded小部件,但是无论我尝试放置它,我都会收到一个错误,它要么必须是 orRowColumn异常的后代:

RenderFlex 子级具有非零弯曲,但传入的高度约束是无界的。

小智 6

尝试 InkWell。InkWell 允许可点击空间延伸至整行。