Сила всплеска Flutter InkWell — как сделать его более заметным глобально для всего приложения?

В моем флаттер-приложении, когда я нажимаю кнопку (или что-либо, украшенное InkWell), эффект всплеска/рябь очень нежный, почти невидимый. (Он есть, он не прикрытый, просто очень нежный, слишком тонкий).

Когда я использую другие приложения (например, приложение Gmail от Google), каждый раз, когда я что-то нажимаю, эффект всплеска/рябь ОЧЕНЬ сильный и дает пользователю хорошее представление о том, что он/она только что нажал.

Вопрос:

Как усилить эффект всплеска/пульса в приложении флаттера?

1 ответ

Совет для профессионалов : создайте оболочку для InkWell и используйте ее во всем приложении.

      class MyInkWell extends StatelessWidget {
  const MyInkWell({Key? key, this.child, this.onTap}) : super(key: key);

  final VoidCallback? onTap;
  final Widget? child;

  @override
  Widget build(BuildContext context) {
    return InkWell(
      // customized you want
      // splashColor: ,
      // focusColor: ,
      // hoverColor: ,
      // highlightColor: ,
      // overlayColor: ,
      // radius: ,
      onTap: onTap,
      child: child,
    );
  }
}

и используйте свой собственный InkWell

      class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
            child: MyInkWell(
                onTap: () {
                  // on tap callback
                },
                child: const Icon(Icons.abc))),
      ),
    );
  }
}

С уважением

Другие вопросы по тегам