Я строю цифровую панель с помощью флаттера, используя таблицу. Как обычно в кнопках материалов, я бы хотел, чтобы моя цифровая клавиатура имела эффект spla sh, когда пользователь нажимает на нее. В настоящее время я достигаю этого, оборачивая InkResponse вокруг таблицы следующим образом (я удалил отступы и тому подобное для удобства чтения):
Widget buildButton(BuildContext context, int displayNum) {
return FlatButton(
child: Text(displayNum.toString()),
onPressed: () => controller.parseInput(displayNum),
);
}
@override
Widget build(BuildContext context) {
return InkResponse(
child: Container(
decoration: BoxDecoration(
color: backgroundColor,
borderRadius: BorderRadius.circular(10),
),
child: Table(
children: <TableRow>[
TableRow(
children: [1, 2, 3].map((i) => buildButton(context, i)).toList(),
),
TableRow(
children: [4, 5, 6].map((i) => buildButton(context, i)).toList(),
),
TableRow(
children: [7, 8, 9].map((i) => buildButton(context, i)).toList(),
),
TableRow(
children:
[-1, 0, -2].map((i) => buildButton(context, i)).toList(),
),
],
),
),
);
}
, что приводит к this .
Теперь, чтобы настроить пользовательский интерфейс, я бы хотел, чтобы эффект spla sh не останавливался на границах TableCell, а излучался наружу из повернутого местоположения на таблице.
В документах говорится о том, как clip InkResponse (обычно с InkWell), но я хочу наоборот: пусть Ink / Spla sh не останавливается на границах детей, но go по всей таблице.
Anyone знает, как добиться этого эффекта?