ํ๋ฌํฐ์๋ ์ฌ์ฉ์ ํฐ์น์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํ ์์ ฏ์ผ๋ก Inkwell ์์ ฏ๊ณผ GestureDetector ์์ ฏ์ด ์๋ค.
Inkwell ์์ ฏ
- Inkwell ์์ ฏ์ Material ์์ ฏ์์์ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ Material ๋์์ธ ์์คํ ์ด ์ ์ฉ๋์ด ์ฌ์ฉ์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ค.
- ๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ํญํ ์ Material ๋์์ธ ํ ๋ง ํจ๊ณผ์ธ Ripple Effect๊ฐ ๊ธฐ๋ณธ์ผ๋ก ๊ตฌํ๋๋ค.
GestureDetector ์์ ฏ
- GestureDetector ์์ ฏ๋ inkwell ์์ ฏ์ฒ๋ผ ์ฌ์ฉ์ ํฐ์น์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํด์ค๋ค.
- ์ฐจ์ด์ ์ผ๋ก๋ GestureDetector๋ Matrial ํ์์์ ฏ์ด ์๋๋ค! ๋ฐ๋ผ์ Material ๋์์ธ ์์คํ ์ด ์ ์ฉ๋์ง ์๊ณ ์์๊ฐ์ ๋ฆฌํ ์ดํํธ๋ ์ ์ฉ๋์ง์๋๋ค.
- ๋ํ inkwell๋ณด๋ค ์ข๋ ๋ค์ํ ํฐ์น์ ์ค์ณ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. inkwell์์๋ onTap, onDoubleTap ๊ณผ ๊ฐ์ ๋จ์ํ ํฐ์น์ ์ค์ฒ๋ฅผ ์ฒ๋ฆฌํ์ง๋ง GestureDetector์์๋ ์ฌ์ฉ์์ ๋๋๊ทธ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฑ ํจ์ฌ ์ธ๋ถ์ ์ผ๋ก ์ฒ๋ฆฌํด์ค ์ ์๋ค.
๋ฌธ์ ๋ ํ๋ฌํฐ ํ๋ก์ ํธ๋ ๋ณดํต Material App ์ ๋น๋ํ๊ณ , Material App ์์ ฏ ์์ ๊ตฌํ๋ ๋ฒํผ๋ค์ Material ๋์์ธ ์์คํ
์ด ์ ์ฉ๋์ด inkwell ์์ ฏ์ด ๊ธฐ๋ณธ์ผ๋ก ๊ตฌํ๋๊ณ ํญํ ์ ripple effect๊ฐ ๋ํดํธ๋ก ๊ตฌํ๋๋ค.
๊ฐ์ข
๋ฒํผ๋ค์ ์ฐ์ต์ฉ์ผ๋ก ๊ตฌํํด๋ณด์๋ค. ์์ ๋ฒํผ์์ ์๊ธฐ๋ ripple effect๋ ๊ทธ๋๋ง ๊ด์ฐฎ์ง๋ง ๋ค๋น๊ฒ์ด์
๋ฐ์์ ์๊ธฐ๋ ํจ๊ณผ๋ ๋๋ฌด ๋ณด๊ธฐ๊ฐ ์์ข๋ค. ์ด๋ ๊ฒ Material app widget ์์ ๊ธฐ๋ณธ๊ตฌํ๋ ripple effect๋ฅผ ์์ ์ฃผ๋ ๋ฐฉ๋ฒ์ ๋ฆฌํ ํจ๊ณผ์ ์์ ํฌ๋ช
ํ๊ฒ ๋ง๋ค์ด ์ฌ์ฉ์์๊ฒ ์๋ณด์ด๋๋ก ํ๋ ๊ฒ์ด๋ค.
splashColor: Colors.transparent,
highlightColor: Colors.transparent,
๋์ค์ ์ฝ๋๋ฅผ ๋ฆฌํํจ๊ณผ๋ฅผ ์์ ์ฃผ๊ณ ์ถ์ ์์ ฏ์์ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค. ์ด๋ ๊ฐ ์์ ฏ๋ง๋ค ์ฝ๋๊ฐ ๋ค์ด๊ฐ๋ฉด ๋ฆฌํํจ๊ณผ๋ฅผ ์์จ๋๋ง๋ค ๋งค๋ฒ ์ค๋ณต์ฝ๋๊ฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์ต๋ํ ํจ๊ณผ๋ฅผ ์์ ์ฃผ๊ณ ์ถ์ ์์ ฏํธ๋ฆฌ ์ต์๋จ์์ ์์ ์ฃผ๋ ๊ฒ์ด ์ข๋ค.
ํนํ ์ ๋์ค ์ฝ๋๋ฅผ ์์ฑํ์์๋ ripple effect๊ฐ ์์ฌ๋ผ์ง๋ ๊ฒฝ์ฐ๋ฅผ ์ข
์ข
๋ณผ ์ ์๋๋ฐ ์ด๋ BottomNavigationBar์ TabBar๋ ๋ด๋ถ์ ์ผ๋ก InkWell์ ์ฌ์ฉํ์ฌ ๋ฌผ๊ฒฐ ํจ๊ณผ๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋จ์ํ ํ์์์ฑ์์ InkWell์ ๊ฐ์ธ๋ ๊ฒ์ผ๋ก๋ ๋ด๋ถ์ ๋ฌผ๊ฒฐ ํจ๊ณผ๋ฅผ ์ ๊ฑฐํ ์ ์๋ค.
๋ฐ๋ผ์ ๋ด๋ถ์ ์ผ๋ก inkwell ํจ๊ณผ๊ฐ ์ ์ฉ๋ ์์ ฏ๋ค์ ๋ฌผ๊ฒฐํจ๊ณผ๋ฅผ ์์ ์ฃผ๊ณ ์ถ๋ค๋ฉด ํ๋จ๊ณ ์์ ์์ ฏ์์ ThemeData๋ฅผ ์ด์ฉํด ๋ฆฌํ์ดํํธ ์์์ ํฌ๋ช
ํ๊ฒ ๋ง๋ค์ด ํ์ ์์ ฏ์๊ฒ ์ ๋ฌํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. ์ ์ฝ๋์ ๊ฐ์ด ์ค์ ํ๋ฉด ์ต์๋จ Material APP ํ์ ์์ ฏ์์๋ ripple effect๊ฐ ์ฌ๋ผ์ง๊ฒ ๋๋ค.