awesome_indicator | Flutter Package
awesome_indicator | Git Repository
awesome_indicator_sample | Git Repository
์๊ฐํด ๋๋ฆฌ๋ ํจํค์ง๋ ์ ๊ฐ ์ง์ ๊ฐ๋ฐํ๊ณ ํผ๋ธ๋ฆฌ์ฑํ awesome_indicator ๋ผ๋ ํจํค์ง์ ๋ํด์ ์๊ฐํ๋ ค๊ณ ํ๋ค.
์คํฌ๋กค ๋ทฐ ์์ ฏ์ ์ธ๋์ผ์ดํฐ๋ฅผ ์ฐ๋ํ์ฌ ์๋์ผ๋ก ์คํฌ๋กค ์งํ๋ฅ ๋งํผ ์ด๋ ์์ผ์ฃผ๋ ํจํค์ง์ด๋ค.
์ด๋ฒ์๋ ์ด๊ธฐ ๋ฐฐํฌ ๋ฒ์ ์ผ๋ก ์คํฌ๋กค ๋ทฐ ์์ ฏ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง, ์ถํ ํ์ด์ง๋ทฐ ๋ฑ์์๋ ์ฌ์ฉํ ์ ์๋ ์ธ๋์ผ์ดํฐ๋ฅผ ์ถ๊ฐ๋ก ์ ๋ฐ์ดํธ ํ ์์ ์ด๋ค.
ํด๋น ํจํค์ง์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์ ์๊ฐํ๋๋ก ํ๊ฒ ๋ค.
dependencies:
awesome_indicator: <latest_version>
awesome_indicator ํจํค์ง์ ์์ ฏ์ผ๋ก๋ AwesomeScrollIndicator๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
AwesomeScrollIndicator์ ํ์ ๊ฐ์ผ๋ก ์คํฌ๋กค ๋ทฐ์ Controller๋ฅผ ๋๊ฒจ์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ผ ๋์ด๋ค. ๊ฐ๋จํ๋ค !
AwesomeScrollIndicator(
controller: _controller,
);
ScrollController๋ง ๋๊ฒจ์ฃผ๋ฉด awesome_indicator ํจํค์ง๊ฐ ์๋์ผ๋ก ์คํฌ๋กค ์งํ๋ฅ ์ ๋ง์ถฐ ํฌ์ง์ ์ ๋ง์ถฐ์ค๋ค.
์ด์ ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ธ๋์ผ์ดํฐ๋ฅผ ๊พธ๋ฉฐ์ฃผ๋๋ก ํ๋ ์ต์ ๋ค์ ๋ํด์ ์ดํด๋ณด์.
๋จผ์ ์ธ๋์ผ์ดํฐ์ ๊ฐ๋ก ์ฌ์ด์ฆ๋ฅผ ๋ณ๊ฒฝํด ์ฃผ์.
Default width : MediaQuery.of(context).size.width
AwesomeScrollIndicator(
controller: _horizontalController,
width: MediaQuery.of(context).size.width - 40,
);
์ด๋ฒ์๋ ์ธ๋์ผ์ดํฐ์ ๋์ด๋ฅผ ๋ณ๊ฒฝํด ๋ณด์.
Default height : 8
AwesomeScrollIndicator(
controller: _horizontalController,
height: 20,
);
Width | Height |
---|---|
์ด๋ฒ์๋ ์ธ๋์ผ์ดํฐ์ ๊ฐ๋ก ์ฌ์ด์ฆ์ ๋น์จ์ ๋ณ๊ฒฝํ๋๋ก ํด๋ณด์.
๊ฐ๋ก ๋น์จ ๋ณ๊ฒฝ์ indicator ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. 0~1 ์ฌ์ด์ ๊ฐ์ Double ํ์ ์ผ๋ก ์ง์ ํ ์ ์๋ค.
Default indicator : 0.5
AwesomeScrollIndicator(
controller: _horizontalController,
indicator: 0.2,
),
0.2 | 0.7 |
---|---|
์ธ๋์ผ์ดํฐ์ ๋ฐฐ๊ฒฝ ์์์ ๋ณ๊ฒฝํด ๋ณด๋๋ก ํ์.
๋จผ์ , ๋ฐฐ๊ฒฝ ์์์ ๋ณ๊ฒฝํ์. background ์ต์ ์ ๋ฐฐ๊ฒฝ ์์์ ๋ณ๊ฒฝํ ์ ์๋ ํ๋ผ๋ฏธํฐ ์ด๊ณ , Color ํ์ ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
Default background : Color.fromRGBO(195, 195, 195, 1)
AwesomeScrollIndicator(
controller: _horizontalController,
backgroud: Colors.cyan,
),
์ด์ด์ ์ธ๋์ผ์ดํฐ์ ์ปฌ๋ฌ๋ฅผ ๋ณ๊ฒฝํด ์ฃผ๋๋ก ํ์.
color ํ๋ผ๋ฏธํฐ์ ์ํ๋ ์ปฌ๋ฌ ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
Default background : Colors.black
AwesomeScrollIndicator(
controller: _horizontalController,
backgroud: Colors.red,
),
background | color |
---|---|
์ธ๋์ผ์ดํฐ์ Radius ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ radius ํ๋ผ๋ฏธํฐ์ ์ํ๋ ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
AwesomeScrollIndicator(
controller: _horizontalController,
radius: 4,
),
Radius : 0 | Radius : 4 | Default |
---|---|---|
๋ง์ง๋ง์ผ๋ก ์ดํด๋ณธ ์ต์ ํ๋ผ๋ฏธํฐ๋ ๋ฐ๋ก ์ธ๋์ผ์ดํฐ์ ๊ฐ์ ์์ ํ๋ ๋ถ๋ถ์ด๋ค.
์คํฌ๋กค ํฌ์ง์ ๊ฐ์ ์์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์์ ์๋ ์์ ๊ฒ ๊ฐ์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด๋ค.
onListener ๋ฆฌ์ค๋๋ฅผ ์์ ํ๋ฉด ๋๋ค.
onListener์์ ์ ๊ณต๋๋ ๊ฐ์ ์ธ๋์ผ์ดํฐ์ ๋น์จ๊ณผ ํฝ์ ๊ฐ์ด๋ค.
AwesomeScrollIndicator(
controller: _horizontalController,
onListener: (int ratio, double pixel) => null,
),
์ง๊ธ๊น์ง awesome_indicator ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์ ์๊ฐํ์๋ค.
ํจํค์ง์ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ด๋ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด ์์ ๋กญ๊ฒ ์๊ฒฌ ์ฃผ์๋ฉด ๊ฒํ ํ ๋ฐ์ํ๋๋ก ํ๊ฒ ์ต๋๋ค.