Можно ли расширить ReactNative, чтобы разрешить анимацию позиции элемента с помощью встроенного драйвера.
Хотя вы можете анимировать с помощью translateX, в этом случае размер элемента будет уменьшен путем добавления путем изменения и его левый и правый параметры стиля.
Ни левый, ни правый, marginLeft, marginRight, paddingLeft или paddingRight не поддерживаются для встроенной анимации. Есть ли способ обойти это или какую-то оригинальную идею, включающую масштабирование, которая не будет искажать элемент.
export class ViewScreen extends React.Component {
constructor(props) {
super(props);
this.state= {
scrollY: new Animated.Value(0)
}
}
render() {
var VSStickyElementsMargin = this.state.scrollY.interpolate({
inputRange: [0, 44],
outputRange: [0, 4]
});
return (
<Animated.ScrollView
onScroll={Animated.event([
{ nativeEvent: { contentOffset: { y: this.state.scrollY } }}],
{ useNativeDriver: true }
)}>
<Animated.View style={[
{left: VSStickyElementsMargin},
{right: VSStickyElementsMargin}
]}>
<Text>I am content that is not to become distorted</Text>
</Animated.View>
</Animated.ScrollView>
)
}
}