之前跟大家分享过一篇关于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,
),
),
),
),
],
),
);
}
}