只能用于Table的水波纹,接收点击、双击、长按、高亮变化事件,水波纹会作用于表格的一行。
相关组件
TableRowInkWell基本事件
【child】 : 子组件 【Widget】
【onTap】 : 点击事件 【Function()】
【onDoubleTap】 : 双击事件 【Function()】
【onLongPress】 : 长按事件 【Function()】
【onHighlightChanged】 : 高亮变化回调 【Function(bool)】
import 'package:flutter/material.dart';class CustomTableRowInkWell extends StatelessWidget {@overrideWidget build(BuildContext context) {var title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号");var m = _ItemBean("长度", "L", "1m", "米", "m");var kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg");var s = _ItemBean("时间", "T", "1s", "秒", "s");var a = _ItemBean("安培", "Ι", "1A", "安培", "A");var k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K");var mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol");var cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd");var data = <_ItemBean>[title, m, kg, s, a, k, mol, cd];return SingleChildScrollView(scrollDirection: Axis.horizontal,child: Table(columnWidths: const <int, TableColumnWidth>{0: FixedColumnWidth(80.0),1: FixedColumnWidth(80.0),2: FixedColumnWidth(80.0),3: FixedColumnWidth(80.0),4: FixedColumnWidth(80.0),},defaultVerticalAlignment: TableCellVerticalAlignment.middle,border: TableBorder.all(color: Colors.orangeAccent, width: 1.0, style: BorderStyle.solid),children: data.map((item) => TableRow(children: <Widget>[TableRowInkWell(onTap: () => print('onTap'),onDoubleTap: () => print('onDoubleTap'),onLongPress: () => print('onLongPress'),onHighlightChanged: (v) => print('onHighlightChanged:$v'),child: Center(child: Text(item.name,style: TextStyle(color: Colors.blue),)),),Padding(padding: const EdgeInsets.all(8.0),child: Center(child: Text(item.symbol)),),Padding(padding: const EdgeInsets.all(8.0),child: Center(child: Text(item.unitSymbol)),),Padding(padding: const EdgeInsets.all(8.0),child: Center(child: Text(item.unitName)),),Padding(padding: const EdgeInsets.all(8.0),child: Center(child: Text(item.unit)),),])).toList(),),);}}class _ItemBean {String name;String symbol;String unit;String unitName;String unitSymbol;_ItemBean(this.name, this.symbol, this.unit, this.unitName, this.unitSymbol);}
