๐Ÿ”ฅ [Flutter Packages] awesome_indicator (0.0.1)

Tygerยท2024๋…„ 2์›” 18์ผ
1

Flutter Packages

๋ชฉ๋ก ๋ณด๊ธฐ
3/3
post-thumbnail

๐Ÿ”ฅ awesome_indicator (0.0.1)

awesome_indicator | Flutter Package

awesome_indicator | Git Repository
awesome_indicator_sample | Git Repository

What the Package is.

์†Œ๊ฐœํ•ด ๋“œ๋ฆฌ๋Š” ํŒจํ‚ค์ง€๋Š” ์ œ๊ฐ€ ์ง์ ‘ ๊ฐœ๋ฐœํ•˜๊ณ  ํผ๋ธ”๋ฆฌ์‹ฑํ•œ awesome_indicator ๋ผ๋Š” ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด์„œ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

์Šคํฌ๋กค ๋ทฐ ์œ„์ ฏ์˜ ์ธ๋””์ผ€์ดํ„ฐ๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ์ž๋™์œผ๋กœ ์Šคํฌ๋กค ์ง„ํ–‰๋ฅ  ๋งŒํผ ์ด๋™ ์‹œ์ผœ์ฃผ๋Š” ํŒจํ‚ค์ง€์ด๋‹ค.

์ด๋ฒˆ์—๋Š” ์ดˆ๊ธฐ ๋ฐฐํฌ ๋ฒ„์ „์œผ๋กœ ์Šคํฌ๋กค ๋ทฐ ์œ„์ ฏ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ถ”ํ›„ ํŽ˜์ด์ง€๋ทฐ ๋“ฑ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๋””์ผ€์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์˜ˆ์ •์ด๋‹ค.

How to use.

ํ•ด๋‹น ํŒจํ‚ค์ง€์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์†Œ๊ฐœํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

Dependencies

dependencies:
	awesome_indicator: <latest_version>

AwesomeScrollIndicator

awesome_indicator ํŒจํ‚ค์ง€์˜ ์œ„์ ฏ์œผ๋กœ๋Š” AwesomeScrollIndicator๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

AwesomeScrollIndicator์˜ ํ•„์ˆ˜ ๊ฐ’์œผ๋กœ ์Šคํฌ๋กค ๋ทฐ์˜ Controller๋ฅผ ๋„˜๊ฒจ์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿผ ๋์ด๋‹ค. ๊ฐ„๋‹จํ•˜๋‹ค !

AwesomeScrollIndicator(
	controller: _controller,
);

ScrollController๋งŒ ๋„˜๊ฒจ์ฃผ๋ฉด awesome_indicator ํŒจํ‚ค์ง€๊ฐ€ ์ž๋™์œผ๋กœ ์Šคํฌ๋กค ์ง„ํ–‰๋ฅ ์— ๋งž์ถฐ ํฌ์ง€์…˜์„ ๋งž์ถฐ์ค€๋‹ค.

์ด์ œ ์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ธ๋””์ผ€์ดํ„ฐ๋ฅผ ๊พธ๋ฉฐ์ฃผ๋„๋ก ํ•˜๋Š” ์˜ต์…˜๋“ค์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž.

Size

๋จผ์ € ์ธ๋””์ผ€์ดํ„ฐ์˜ ๊ฐ€๋กœ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณ€๊ฒฝํ•ด ์ฃผ์ž.

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

์ด๋ฒˆ์—๋Š” ์ธ๋””์ผ€์ดํ„ฐ์˜ ๊ฐ€๋กœ ์‚ฌ์ด์ฆˆ์˜ ๋น„์œจ์„ ๋ณ€๊ฒฝํ•˜๋„๋ก ํ•ด๋ณด์ž.

๊ฐ€๋กœ ๋น„์œจ ๋ณ€๊ฒฝ์€ indicator ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 0~1 ์‚ฌ์ด์˜ ๊ฐ’์„ Double ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

Default indicator : 0.5

AwesomeScrollIndicator(
	controller: _horizontalController,
	indicator: 0.2,
),
0.2 0.7

Color

์ธ๋””์ผ€์ดํ„ฐ์™€ ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•ด ๋ณด๋„๋ก ํ•˜์ž.

๋จผ์ €, ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•˜์ž. 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 ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์€ radius ํŒŒ๋ผ๋ฏธํ„ฐ์— ์›ํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

AwesomeScrollIndicator(
	controller: _horizontalController,
	radius: 4,
),
Radius : 0 Radius : 4 Default

Listener

๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ดํŽด๋ณธ ์˜ต์…˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ฐ”๋กœ ์ธ๋””์ผ€์ดํ„ฐ์˜ ๊ฐ’์„ ์ˆ˜์‹ ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

์Šคํฌ๋กค ํฌ์ง€์…˜ ๊ฐ’์„ ์ˆ˜์‹ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

onListener ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด ๋œ๋‹ค.

onListener์—์„œ ์ œ๊ณต๋˜๋Š” ๊ฐ’์€ ์ธ๋””์ผ€์ดํ„ฐ์˜ ๋น„์œจ๊ณผ ํ”ฝ์…€ ๊ฐ’์ด๋‹ค.

AwesomeScrollIndicator(
	controller: _horizontalController,
	onListener: (int ratio, double pixel) => null,
),

๋งˆ๋ฌด๋ฆฌ

์ง€๊ธˆ๊นŒ์ง€ awesome_indicator ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์†Œ๊ฐœํ•˜์˜€๋‹ค.

ํŒจํ‚ค์ง€์˜ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์ด๋‚˜ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ž์œ ๋กญ๊ฒŒ ์˜๊ฒฌ ์ฃผ์‹œ๋ฉด ๊ฒ€ํ†  ํ›„ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

profile
Flutter Developer

0๊ฐœ์˜ ๋Œ“๊ธ€