๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ReactNative

[ReactNative]Google Material Design Color : ํŒจํ‚ค์ง€ install

by IworldT 2021. 8. 26.
๋ฐ˜์‘ํ˜•

๊ณ„์†ํ•ด์„œ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ์ค‘์ด๋‹ค. ์ด์ œ ์ปดํฌ๋„ŒํŠธ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ์š”์†Œ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋ฅผ ์Šฌ์Šฌ ๋๋งˆ์ณค๋‚˜๋ณด๋‹ค. ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ์ฑ•ํ„ฐ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค!

๋‚˜๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์ „์— ๋ฌด์กฐ๊ฑด ํ…Œ๋งˆ๋ฅผ ๊ณ ๋ฅด๊ณ  ์‹œ์ž‘ํ•˜๋Š” ํŽธ์ธ๋ฐ, ๊ตฌ์ฒด์ ์ธ ๋ ˆ์ด์•„์›ƒ๋“ค ๋ณด๋‹ค๋Š” ์ปฌ๋Ÿฌ๊ฐ, ์ปฌ๋Ÿฌ ์กฐํ•ฉ ๋“ฑ์„ ๋งŽ์ด ์ฐพ์•„๋ณธ๋‹ค. ๊ทธ๋ž˜์„œ color picker๋„ ๋‚ด๊ฒŒ๋Š” ์—†์–ด์„œ๋Š” ์•ˆ๋  ์กด์žฌ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ ์ด๋ฒˆ ์ฑ•ํ„ฐ๊ฐ€ ๋˜๊ฒŒ ๋ฐ˜๊ฐ€์› ๋Š”๋ฐ, ๊ทธ ์ค‘์—์„œ๋„ ๊ตฌ๊ธ€ ๋จธํ„ฐ๋ฆฌ์–ผ ๋””์ž์ธ (Google Material Design)์˜ ๊ฐ€์ด๋“œ๋ผ์ธ์ด ๋ฌด์ฒ™ ํฅ๋ฏธ๋กœ์›Œ ๋ฒˆ์—ญ๊ณผ ์ ์šฉ์„ ํ•จ๊ป˜ ํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

Googe Materail Design - https://material.io/design

 

์˜ค๋Š˜ ์‚ดํŽด๋ณผ ๊ฒƒ์€ ์ด ์ค‘์—์„œ๋„ ์™ผ์ชฝ ๋ฉ”๋‰ด์— ๋ณด์ด๋Š” Color , ์ƒ‰์ƒ ๊ฐ€์ด๋“œ ๋ผ์ธ์ด๋‹ค.

 

 

์šฐ๋ฆฌ๊ฐ€ ๊ทธ๋™์•ˆ css ๋“ฑ์—์„œ ํ‘œํ˜„ํ•˜๋˜ 16์ง„์ˆ˜ RGB ํ‘œํ˜„์‹๊ณผ ๋‹ฌ๋ฆฌ ๋ฌด์ฒ™ ์‰ฝ๊ฒŒ ์ƒ‰์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ‰์ƒ์„ blue, pink ๋“ฑ ์ด๋ฆ„์œผ๋กœ ๋ช…์‹œํ•˜๊ณ , ๊ทธ ๋’ค์— ๋ฐ๊ธฐ๋ฅผ ์ˆ˜์น˜๋กœ ๋ถ™์—ฌ ํ‘œํ˜„ํ•˜๋ฉด ๋œ๋‹ค. blue500์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.(๋ฌผ๋ก  ์ด์ „ ํ‘œํ˜„์‹๋„ ์‚ฌ์šฉํ•œ๋‹ค.)

 

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์šฐ๋ฆฌ๊ฐ€ ์ž์ฃผ ๋ณด์•˜๋˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์˜ ๋Š๋‚Œ์ด ์ข€ ๋‚œ๋‹ค.

 

 

์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด๋ณด๋ฉด ์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ๊ฐ€ ์žˆ์–ด์„œ ์—ฌ๊ธฐ์„œ ์ง์ ‘ ์ปฌ๋Ÿฌ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

์ด๋ฅผ ์ž˜ ์ด์šฉํ•˜๋ฉด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปฌ๋Ÿฌ๊ฐ, ๋‹จ์ผ ํ…Œ๋งˆ ๋ฟ์ด ์•„๋‹ˆ๋ผ ๋ผ์ดํŠธ๋ชจ๋“œ/๋‹คํฌ๋ชจ๋“œ์— ๋”ฐ๋ฅธ ํ…Œ๋งˆ ๋ณ€๊ฒฝ, ๋‹ค์ค‘ํ…Œ๋งˆ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ๋””์ž์ธ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

 ํŒจํ‚ค์ง€ package install 

RGB ๊ฐ’์ด ์•„๋‹Œ ๊ตฌ๊ธ€ ๋จธํ„ฐ๋ฆฌ์–ผ ๋””์ž์ธ์˜ ํ‘œํ˜„์‹์œผ๋กœ ์ƒ‰์„ ์ง€์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ์„ install ํ•˜๋ฉด ๋œ๋‹ค.

npm i react-native-vector-icons react-native-paper

 

๊ทธ๋ฆฌ๊ณ  import {Colors} from 'react-native-paper' ๋ฅผ ์ƒ๋‹จ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋˜๊ฒ ๋‹ค.

๊ทธ๋Ÿผ ์ธ์Šคํ†จํ•œ Colors๋ฅผ ํ†ตํ•ด Colors.blue500 ๋“ฑ๊ณผ ๊ฐ™์€ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

 

์ƒ‰์„ ์ข€ ๋” ์„ธ๋ถ„ํ™”ํ•ด์„œ ์ง€์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋ฐ๊ธฐ๋‚˜ ํˆฌ๋ช…๋„ ์กฐ์ ˆ์ด ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•œ ๋‹ค์Œ์˜ ํŒจํ‚ค์ง€๋ฅผ install ํ•˜๋ฉด ๋œ๋‹ค.

npm i color
npm i -D @types/color

๋‚˜๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์„ ๊ฐœ๋ฐœ์ค‘์ด๋ฏ€๋กœ  @types/color ํŒจํ‚ค์ง€๋ฅผ ์ง€์ •ํ•˜์—ฌ install ํ•˜์˜€๋‹ค.

 

๊ทธ๋Ÿผ ์ด์ œ ์œ„์˜ ํŒจํ‚ค์ง€๋“ค์„ ๋ชจ๋‘ install ํ–ˆ์œผ๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

import {Colors} from 'react-native-paper'
import Color from 'color'

console.log("color : ",
	Color(Colors.blue500).alpha(0.5).lighten(0.5).string())
);

Colors.blue500 ์ƒ‰์„ ์•ŒํŒŒ๊ฐ’ ์ ˆ๋ฐ˜(alpha(0.5)), ๋ฐ๊ธฐ ์ ˆ๋ฐ˜(lighten(0.5)) ์œผ๋กœ ์…‹ํŒ…ํ•ด์ค€ ๊ฒƒ์ด๋‹ค. ๊ทธ ๊ฐ’์„ .string()์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์›๋ž˜๋Š” ์ด๋ ‡๊ฒŒ 16์ง„์ˆ˜ string์œผ๋กœ ์ž…๋ ฅํ•ด์ค˜์•ผ ํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ๋‹ค์–‘ํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ƒ‰ ์ง€์ •์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋‚ด๊ฐ€ ์ฐธ๊ณ ํ•œ ๋„์„œ๋Š” ๋‹ค์Œ์˜ ๊ธ€์— ์žˆ๋‹ค.https://iworldt.tistory.com/27

 

[ReactNative]์ปดํฌ๋„ŒํŠธ ์ด๋ฒคํŠธ ์†์„ฑ๊ณผ API

์ด์ „ ๊ธ€์—์„œ React Native์˜ ์‚ฌ์šฉ์ž ์ •์˜ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด์„œ๋Š” ์ด์ „ ๊ธ€(https://iworldt.tistory.com/38) ์„ ์ฐธ๊ณ ํ•˜์ž! ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ์˜ ์‚ฌ์šฉ

iworldt.tistory.com

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€