Flutter AbsorbPointer

之前跟大家分享过一篇关于stack组件的运用,上链接,嘿嘿 link.
今天继续结合stack分享一个新的组件,AbsorbPointer
效果实现:点击色块打印结果,即点击橙色打印click orange
打印蓝色,打印 click blue self

记得收藏学习~
(一)效果图
在这里插入图片描述
(二)代码
复制即可运行~
有问题留言呀,各位亲~

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.green,
          title: Text("demo"),
        ),
        body: demoPage(),
      ),
    );
  }
}

class demoPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      height: 200,
      width: 200,
      child: Stack(
        alignment: Alignment.center,
        children: [
          Listener(
            onPointerDown: (v) {
              print("click orange");
            },
            child: Container(
              color: Colors.orange,
            ),
          ),
          Listener(
            onPointerDown: (v) {
              print("click blue self");
            },
            child: AbsorbPointer(
              child: Listener(
                onPointerDown: (v) {
                  print("click blue child");
                },
                child: Container(
                  color: Colors.blue,
                  width: 100,
                  height: 100,
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}

猜你喜欢

转载自blog.csdn.net/weixin_45425105/article/details/112285435
今日推荐