์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- spring
- ๊ทธ๋ฆฌ๋
- ์ดํญ๊ณ์
- ๋ฐฑ์ค1436
- ์๋ฃ๊ตฌ์กฐ
- boj11653
- ์ปด๊ณต
- ๋ฆฌ์กํธ
- ์น๊ฐ๋ฐ
- ์น๊ฐ๋ฐ๊ธฐ๋ก
- ๋ฐฑ์๋
- ์คํ๋ง
- ๊ฐ๋ฐ์
- ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์คํ์ด
- ๋ฐฑ์ค
- ๋ชจ๋ฐ์ผ์ฑํ๋ก๊ทธ๋๋ฐ
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋ฐ
- ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ
- ์ฝ๋ฉ
- ํ์ด์ฌ
- ์ฐ์ ์์ํ
- SSE
- ์ปดํจํฐ๊ณตํ
- ChatGPT
- ๋จ์ํ ์คํธ
- ์ฝ๋ฉํ ์คํธ
- ํ๋ก ํธ์ค๋
- ์ปด๊ณต์
- Today
- Total
๐ป๐ญ๐ง๐
[React Native] 03-2 View ์ปดํฌ๋ํธ์ CSS ๋ฐ์ค ๋ชจ๋ธ ๋ณธ๋ฌธ
[React Native] 03-2 View ์ปดํฌ๋ํธ์ CSS ๋ฐ์ค ๋ชจ๋ธ
adorableco 2023. 8. 7. 00:52Platform๊ณผ Dimensions API
์คํ OS ํ์ธ
import {Platform{ from 'react-native'
console.log(Platform.OS)
โ ์ฑ์ด ์คํ๋๋ ํฐ์ด ์๋๋ก์ด๋ํฐ์ธ์ง ์๋๋ฉด ์์ดํฐ์ธ์ง๋ฅผ ํ์ธํ๋ค.
โ ์์ ์ฝ๋๋ฅผ ์คํํ๋ฉด android ๋๋ ios ๋ผ๊ณ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
Dimension API
import {Dimension} from 'react-native'
const {width, height} = Dimensions.get('window')
โ width, height ๋ ํฐ์ ๊ฐ๋ก๋ก ํ์ ํ๋๋ผ๋ ๋ณํ์ง ์๋๋ค.
๋ทฐ ์ปดํฌ๋ํธ์ backgroundColor ์คํ์ผ ์์ฑ
โก๏ธ ์ด๋ฆ์ 'View' ๊ฐ ๋ค์ด๊ฐ ๋ทฐ์ปดํฌ๋ํธ๋ backgroudColor ์คํ์ผ ์์ฑ์ผ๋ก ์์ ์ ๋ฐํ์์ ์ค์ ํ ์ ์๋ค.
โ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ์ fontSize ์คํ์ผ ์์ฑ์๋ ๋ฐ๋์ numberํ์ ์ด๋ undefined๋ฅผ ๊ฐ์ผ๋ก ์ค์ ํด์ผ ํ๋ค.
View์ ๊ธฐ๋ณธ width๊ฐ๊ณผ height๊ฐ
๊ธฐ๋ณธ width๊ฐ : ๋ถ๋ชจ ์ปดํฌ๋ํธ์ width๋ฅผ ๊ทธ๋๋ก ์ค์
๊ธฐ๋ณธ height๊ฐ : ์์์์์ height (์์ ์์๊ฐ ์ํ์ผ๋ก ๋ฐฐ์น๋ผ์๋ค๋ฉด ๊ฐ์ฅ ๋์ ์์์ height ๊ฐ์, ์์ง์ผ๋ก ๋ฐฐ์น๋ผ์๋ค๋ฉด ์์ ์์์ height ๊ฐ์ ๋ชจ๋ ๋ํ ๊ฐ) ๋ฅผ ์ค์
const {width, height} = Dimension.get('window')
์ด๋ ๊ฒ ์ป์ height ๊ฐ์ SafeAreaView์ height ์คํ์ผ ์์ฑ์ ์ค์ ํ๋ฉด ๋ทฐ์ ๋์ด๋ฅผ ํฐ ๋์ด๋งํผ ์ค์ ํ ์ ์๋ค.
const styles = StyleSheet.create({
SafeAreaView: {backgroundColor: MD2Colors.blue500, height:height}
})
โ ์ฌ๊ธฐ์์ height: height ๋ ๊ทธ๋ฅ height ๋ก ๊ฐ๊ฒฐํ๊ฒ ๊ตฌํํ ์ ์๋ค. โก๏ธ ์์ฑ ์ด๋ฆ๊ณผ ๊ฐ์ ๋ด์ ๋ณ์ ์ด๋ฆ์ด ๋๊ฐ์ ๋๋ ๊ฐ์ ๋ด์ ๋ณ์ ๋ถ๋ถ์ ์๋ตํ ์ ์๋ค.
๋ถ๋ชจ ์์์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํผ์ผํธ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ
โก๏ธ CSS์์ ํผ์ผํธ(%) ๊ฐ์ ํญ์ ๋ถ๋ชจ ์ปดํฌ๋ํธ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.
flex ์คํ์ผ ์์ฑ
โก๏ธ flex: 1 == height: 100% / flex: 0.5 == height: 50%
โ flex์ width ํน์ height ์คํ์ผ ์์ฑ์ ํจ๊ป ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ width์ height์ ์ ์ฉ ์ฐ์ ์์๊ฐ flex ๋ณด๋ค ๋๋ค.
(์์ธํ๊ฑด ๋์ค ์ฑํฐ์์ ๋ค๋ฃฌ๋ค๊ณ ํจ.)
margin ์คํ์ผ ์์ฑ
โก๏ธ ๋ถ๋ชจ/์์ ๊ฐ ํน์ ์ด์ํ ํ์ ์์ ๊ฐ์ ๊ฐ๊ฒฉ์ ์กฐ์ ํ๋ค.
โก๏ธ ์์ฑ: marginLeft, marginRight, marginTop, marginBottom
โ marginLeft ๊ฐ = marginRight ๊ฐ โก๏ธ marginHorizontal ์คํ์ผ ์์ฑ์ผ๋ก ๋์์ ์ค์ ๊ฐ๋ฅ
โ marginTop ๊ฐ = marginBottom ๊ฐ โก๏ธ marginVertical ์คํ์ผ ์์ฑ์ผ๋ก ๋์์ ์ค์ ๊ฐ๋ฅ
โ marginRight ๊ฐ = marginBottom ๊ฐ โก๏ธ margin ์คํ์ผ ์์ฑ์ผ๋ก ๋์์ ์ค์ ๊ฐ๋ฅ
padding ์คํ์ผ ์์ฑ
margin ๊ณผ ๋๊ฐ์ but, padding ์์ฑ์ ๋ถ๋ชจ ์ปดํฌ๋ํธ ์ชฝ์ ์ ์ฉํ๋ ์คํ์ผ๋ก ์์ ์ปดํฌ๋ํธ๊ฐ ์์ ์ ์์ญ์ ๊ฝ ์ฑ์ฐ์ง ์๊ฒ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
border ๊ด๋ จ ์คํ์ผ ์์ฑ
โก๏ธ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ์ฝ์ด ์ปดํฌ๋ํธ๋ ๋๋ถ๋ถ ์์ ์์ญ์ ๊ฒฝ๊ณ(border)๋ฅผ ์ค์ ํ ์ ์๋ค.
โ ์ค์ํ ์ โ
iOS ์์ SafeAreaView๋ View ๊ฐ ์๋๋ค!!!!
โก๏ธ iOS ์์๋ง ์ ์ฉ์ด ๋์ง ์๋ ์คํ์ผ ์์ฑ์ด ์์ ์ ์๋ค.
ํด๊ฒฐ๋ฒ Platform.select ๋ฉ์๋ ์ฌ์ฉ
OS์ ๋ฐ๋ฅธ ์ค์
paddingLeft: Platform.select({ios: 0, android: 20})
โ Platform.OS ๊ฐ ios์ผ ๋์ ๊ฐ๊ณผ Platform.OS ๊ฐ android์ผ ๋์ ๊ฐ์ ๊ฐ๊ฐ ์ค์ ํ๋ค.
'๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ์ฑ ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React Native] 03-4 ์ปดํฌ๋ํธ ๋ฐฐ์น ๊ด๋ จ ์คํ์ผ ์์ฑ ํ๊ตฌํ๊ธฐ (1) | 2023.09.04 |
---|---|
[React Native] 03-3 ์์๊ณผ ์์ด์ฝ ์ฌ์ฉํ๊ธฐ (0) | 2023.08.07 |
[React Native] 03-1 style ์์ฑ๊ณผ StyleSheet API ์ดํดํ๊ธฐ (0) | 2023.08.05 |
[React Native] 02-4 ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ ์์ฑ ์ดํดํ๊ธฐ (0) | 2023.08.05 |
[React Native] 02-3. ์ปดํฌ๋ํธ์ ์์ฑ ์ดํดํ๊ธฐ (0) | 2023.08.04 |