Reaction-native: LayoutAnimation и useNativeDriver: верно для flex
В прошлом я использовал LayoutAnimation.scaleXY
оживить flex
из View
на очень высокой частоте кадров. Теперь я хочу использовать Animated
оживить flex
и достичь такой же высокой частоты кадров.
Я знаю, что не могу использовать useNativeDriver: true
оживить flex
,
Есть ли LayoutAnimation
всегда запускать анимацию изначально? Если это так, как он может запустить flex
анимация пока Animated
с useNativeDriver: true
не могу?
Это можно обойти? Я хочу запустить свой flex
анимация параллельно со многими другими анимациями (например, opacity
, translate
, а также scale
) и без useNativeDriver: true
анимация недопустимо прерывистая.
PS мой вопрос адресует flex
но есть ли заметные различия для height
и / или width
?
0 ответов
Согласно этой статье, "LayoutAnimation работает, идентифицируя представления по их уникальному ключу, вычисляя их ожидаемое положение и полагаясь на базовую встроенную среду (CoreAnimation для iOS), чтобы оживить изменение". LayoutAnimation
всегда запускает анимацию
В документации Apple есть две инфраструктуры анимации, UIKit и Core Animation (могут быть похожи для Android), Core Animation более мощная, чем UIKit.
Так что, если бы мне пришлось угадывать, LayoutAnimation
может оживить flex
в то время как Animated
не может потому что LayoutAnimation
использует Core Animation в то время как Animated
использует UIKit.
flex
отличается от высоты / ширины, потому что flex
всегда является частью родительского контейнера (например, два View
с flex: 1
завернутый в родителя View
каждый займет половину длины в направлении flexDirection
).