首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GestureDetector时的油墨纹波效应

使用GestureDetector时的油墨纹波效应
EN

Stack Overflow用户
提问于 2022-11-22 08:31:17
回答 3查看 68关注 0票数 0

我需要使用GestureDetector,因为它可以检测出比InkWell更多类型的用户交互,但与InkWell不同的是,它不会在用户点击或长时间按下它时提供任何视觉响应。

是否可以在GestureDetector中仍然处理用户交互的同时为抽头/长按压添加波纹效应?

EN

回答 3

Stack Overflow用户

发布于 2022-11-22 08:56:56

只需使用这个插件

代码语言:javascript
复制
touch_ripple_effect: ^2.2.4

触觉纹波效应

代码语言:javascript
复制
TouchRippleEffect(
                borderRadius: _helloRadius,
                rippleColor: Colors.white60,
                onTap: (){
                  print("Anand !");
                },
                child: Container(
                  width: 110, 
                  height: 50, 
                  alignment: Alignment.center, 
                  decoration: BoxDecoration(color: Colors.pink, borderRadius: _helloRadius),
                  child: IconButton(
                    iconSize: 24.0, 
                    icon: Icon(Icons.search,color: Colors.white, size: 36,), 
                    onPressed: null
                    ),)
              ),

触觉反馈效应

代码语言:javascript
复制
TouchFeedback(
                onTap: (){
                  print(" I am Aditya");
                },
                rippleColor: Colors.blue[200],
                child: Container(
                  width: 120,
                  height: 40, 
                  alignment: Alignment.center,
                  decoration: BoxDecoration(color: Colors.yellow, borderRadius: BorderRadius.circular(5),), 
                  child: Text(
                    "Hit me !", 
                    style: TextStyle(fontSize: 20, fontWeight:  FontWeight.bold)
                    )
                    ),
              )
票数 0
EN

Stack Overflow用户

发布于 2022-11-22 09:31:50

如果你想要一个快速的黑客,检查这个:

代码语言:javascript
复制
class Test extends StatelessWidget {
 const Test({
  Key? key,
  this.onTap,
 }) : super(key: key);
 final void Function()? onTap;
@override
Widget build(BuildContext context) {
final width = MediaQuery.of(context).size.width;
return Scaffold(
  body: GestureDetector(
    onTap: onTap,
    child: SizedBox(
      width: width * 0.2,
      height: 70,
      child: Card(
        color: Colors.red,
        child: InkWell(
          onTap: () {},
            ),
          ),
        ),
      ),
    );
  }
}
票数 0
EN

Stack Overflow用户

发布于 2022-11-22 08:42:40

尝试以下代码:

代码语言:javascript
复制
InkWell(
  onLongPress: () {
    // Do what you want to do
  },
  child: child,
),
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74529581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档