Как я могу определить, когда пользователь получает вид, и что-то сделать после получения этой позиции в React Native? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть ScrollView с некоторыми видами внутри, но я хочу запустить анимацию, когда пользователь перейдет к заданному параметру c Вид и после того, как он запустит мою анимацию.

Пример:

<ScrollView style={{ width: DeviceWidth, height: DeviceWidth * 0.5 }}>

   {/* When user position scroll is here, 
       is where I want to start the animation, 
       not since the page is loaded */}

   <View style={{
         width: DeviceWidth * 0.4,
         height: DeviceWidth * 0.4,
         resizeMode: "contain",
      }}>
      <ProgressBarAnimated
          width={barWidth}
          value={65}
          backgroundColor="#F68D29"
          height={40}
          barAnimationDuration={6000}
      />
   </View>
</ScrollView>

1 Ответ

0 голосов
/ 23 апреля 2020

Вместо использования ScrollView вы можете вместо этого использовать FlatList, это дает вам гораздо большую поддержку для того типа индексации, который вы пытаетесь сделать.

Чтобы определить, когда пользователь достигает конкретную c точку, которую вы можете использовать onViewableItemsChanged, и определить, какие видимые элементы должны быть на экране, чтобы запустить вашу анимацию.

FlatLists также поддерживает ряд встроенных анимаций, таких как scrollToEnd или ScrollToIndex, что может быть полезным.

...