Offstage class
offstage class๋ ๋ง ๊ทธ๋๋ก stage์์ off(๋ฒ์ด๋๋ค)ํ๋ค๋ ๊ฒ์ผ๋ก ์ดํดํ๋ค.
offstage class๋ navigator์ ๋น์ทํ๊ฒ ํ์ด์ง๊ฐ ๋ฐ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค.
ํ์ง๋ง, ์๋ก์ด ํ์ด์ง๋ฅผ ๋ง๋ค์ง ์์๋ ๋๋ค๋ ํน์ง์ด์ ์ฅ์ ์ด ์๋ค.
๋ ๋ค๋ฅธ ํน์ง์ ์ฐ๋ฆฌ ๋์๋ ๋ณด์ด์ง ์์ง๋ง offstage ์ํ์์๋ ๊ณ์ ์คํ๋๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ ๋์ ๋ณด์ด๋๋ ์๋ณด์ด๋๋์ ์ฌ๋ถ์ ๊ด๊ณ ์์ด ๋ฐฐํฐ๋ฆฌ๊ฐ ์์๋๋ค.
์ด์ offstage์ ๋ํด ๋ ์์ธํ๊ฒ ์ดํดํ๊ธฐ ์ํด ์์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์๋ค.
์ ์ฒด ์ฝ๋๋ ์๋ ๋งํฌ๋ก ๋์์ผ๋ ์ ์ฒด ์ฝ๋๊ฐ ๊ถ๊ธํ๋ค๋ฉด ๋ค์ด๊ฐ๊ธธ ๋ฐ๋๋ค.
- offstage๋ฅผ ์คํํ๊ธฐ ์ ์ ๋จผ์ true๋ก ๊ฐ์ ์ค์ ํด์ค๋ค.
bool _offstage = true;
- offstage๊ฐ true์ด๋ฉด ๋ฌผ๋ฆฌ์ ๊ณต๊ฐ์ด ๋์ ๋ณด์ด์ง ์๋๋ค.
๋ฐ๋๋ก, offstage๊ฐ false์ด๋ฉด ๋ฌผ๋ฆฌ์ ๊ณต๊ฐ์ด ๋์ ๋ณด์ธ๋ค.
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Offstage(
offstage: _offstage,
child: FlutterLogo(
key: _key,
size: 150.0,
),
),
Text('Flutter logo is offstage: $_offstage'),
ElevatedButton(
child: const Text('Toggle Offstage Value'),
onPressed: () {
setState(() {
_offstage = !_offstage;//false๋ก ์ด๊ธฐ ์ค์ ํ ๊ฐ์ด ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ๊ฐ์ด ๋ฐ๋๋ค.
});
},
),
],
);
}
<์ด๊ธฐํ๋ฉด>
<๋ฒํผ ๋๋ฅธ ํ ํ๋ฉด>
์ ์ฒด ์ฝ๋
https://dartpad.dev/?id=2bad6eb52a25efd3df702370db842253
'๐ง flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Flutter] SizedOverflowBox class ์ ๋ฆฌ (0) | 2022.07.06 |
---|---|
[Flutter] OverflowBox class ์ ๋ฆฌ (0) | 2022.07.06 |
[Flutter] LimitedBox class ์ ๋ฆฌ (0) | 2022.07.06 |
[Flutter] IntrinsicWidth class ์ ๋ฆฌ (0) | 2022.07.06 |
[Flutter] IntrinsicHeight class ์ ๋ฆฌ (0) | 2022.07.06 |