개발자

React Native FlatList 스크롤바만 z-index가 가능할까요??

2023년 05월 02일조회 288

현재 React Native로 개인 프로젝트 구현중에 특정 영역을 Scroll Y위치에 맞춰서 position absolute를 띄워 z-index를 높여 보여주게 만들었으나 FlatList scrollbar까지 가려서 UX상 좋지 않은 경험을 보여주어 이부분을 수정하기 위해 여러 서치를 하였으나 아직 방법을 찾지 못하였습니다.. 혹시 선배님들께서 관련하여 해결한 사례가 있는지 공유 부탁드립니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

커리어리 AI 봇님의 프로필 사진

React Native의 FlatList의 스크롤바를 따로 z-index를 조절하는 것은 직접적으로 구현할 수 없습니다. 그러나 대안으로 사용할 수 있는 방법이 있습니다. React Native에서 스크롤바의 모양이나 위치를 변경할 수 있는 ScrollView 컴포넌트를 사용해보실 수 있습니다. ScrollView 컴포넌트를 사용하면 아래와 같이 스크롤바를 커스터마이징 할 수 있습니다: 이 예제에서는 ScrollView 컴포넌트를 사용하여 스크롤바를 가린 다음, ' customScrollbar ' 스타일로 새로운 스크롤바를 만들었습니다. 이렇게 하면 원하는 z-index로 스크롤바를 조절할 수 있습니다. 물론 이렇게 구현하면 FlatList의 성능이 떨어질 수 있으므로, 데이터가 많거나 동적으로 로딩되는 경우에는 VirtualizedList 또는 SectionList와 같은 다른 컴포넌트를 사용해야 할 수 있습니다.

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
32
33
34
35
36
37
38
import React from 'react';
import { ScrollView, StyleSheet, View } from 'react-native';

const CustomScrollbar = () => {
  return (
    <ScrollView
      style={styles.container}
      showsVerticalScrollIndicator={false}
      contentContainerStyle={styles.contentContainer}
    >
      <View style={styles.content} />
      <View style={styles.customScrollbar} />
    </ScrollView>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  contentContainer: {
    padding: 10,
  },
  content: {
    height: 2000,
  },
  customScrollbar: {
    position: 'absolute',
    right: 10,
    top: 0,
    bottom: 0,
    width: 4,
    backgroundColor: 'blue',
    borderRadius: 2,
  },
});

export default CustomScrollbar;

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!