Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- react-native-image-progress
- 금액안내서 양식
- 이미지랜더링
- 안드로이드뒤로가기
- 프리랜서 양식
- 재공학
- 프리랜서 견적서
- 리네 안드로이드 뒤로가기
- react-native-fast-image
- react eslint
- nextjs 설치
- nextjs 설치하기
- 리네 안드로이드
- 목표정하기
- css 초기화하기
- nextjs 시작
- 정보처리기사 2024
- react plugin setting
- react prettier setting
- eslint setting
- 정보처리기사
- react typescript eslint
- css 초기세팅
- 리네renderIndicator
- 리네이미지랜더링
- 리네이미지
- 금액안내서
- 리네 뒤로가기
- react typescript eslint prettier
- 프리랜서 금액안내서
Archives
- Today
- Total
hello! Mingure
[React Native] ScrollView 캐러셀 만들기 (가로 슬라이딩) 본문
가로로 슬라이딩 넘기면서, 각 컨텐츠 위치에서 살짝 멈추게끔(snap), 해당 컨텐츠 위치 불릿으로 나타내기
<ScrollView
ref={scrollViewRef}
style={{flex: 1}}
bounces={false}
horizontal={true}
showsHorizontalScrollIndicator={false}
decelerationRate="fast"
snapToInterval={203}
snapToAlignment="start"
contentContainerStyle={{
width: scale(203) * (cardList.length + 2),
marginLeft: 90,
}}
onMomentumScrollEnd={e => {
const newPage = Math.round(e.nativeEvent.contentOffset.x / 203);
setCurrentPage(newPage);
}}>
<CardWrapper>
{cardList.map(card => (
<CardItem key={card.card_id}>
...
</CardItem>
))}
</CardWrapper>
</ScrollView>
우선, 가로로 슬라이딩 하면서 위에 효과를 구현하기 위해서는 ScrollView의 특정 옵션을 사용하면 된다.
- horizontal={true} : 가로로 슬라이딩으로 바꾸기
- showHorizontalScrollIndicator : 스크롤 바 나타내기 true/ 숨기기 false
- snapToInterval={사이즈} : 스크롤 내부 컨텐츠 특정 위치
- onMomentumScrollEnd={e => { //특정 이벤트}}:
- e.nativeEvent.contentOffset.x : 처음 컨텐츠 시작하는 위치를 0부터 시작해서 가로로 스크롤 되서 멈추는 시점의 x 값. 이 값을 이용해서 각 컨텐츠 별로 한 화면으로 지정해서 한 페이지 페이지 지정하는 로직 만들 수 있음.
- contentContainerStyle: width값으로 가로 컨텐츠 사이즈에 맞게 스타일링 할 수 있음.
'React Native' 카테고리의 다른 글
[React Native] Android에서 이미지 화질 깨짐 (0) | 2023.07.04 |
---|---|
[React Native / React / Javascript] 라디오버튼처럼 만들기 (0) | 2023.05.02 |
[React Native] useIsFocused 란 무엇인가 (0) | 2022.12.29 |
[React Native] react-native 안드로이드 뒤로가기 BackHandler (0) | 2022.12.28 |
[React Native] react-native-splash-screen 사용법 (0) | 2022.12.22 |