Basic
sample.packages.flutter.lib.src.widgets.basic.6506.
The following sample has an [IgnorePointer] widget wrapping the Column
which contains a button.
When [ignoring] is set to true
anything inside the Column
can
not be tapped. When [ignoring] is set to false
anything
inside the Column
can be tapped.
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return const MaterialApp(
title: _title,
home: MyStatefulWidget(),
);
}
}
class MyStatefulWidget extends StatefulWidget {
const MyStatefulWidget({Key? key}) : super(key: key);
@override
State createState() => _MyStatefulWidgetState();
}
class _MyStatefulWidgetState extends State {
bool ignoring = false;
void setIgnoring(bool newValue) {
setState(() {
ignoring = newValue;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
title: ElevatedButton(
onPressed: () {
setIgnoring(!ignoring);
},
child: Text(
ignoring ? 'Set ignoring to false' : 'Set ignoring to true',
),
),
),
body: Center(
child: IgnorePointer(
ignoring: ignoring,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text('Ignoring: $ignoring'),
ElevatedButton(
onPressed: () {},
child: const Text('Click me!'),
),
],
),
),
),
);
}
}
SHARE: