Ich begann ein Bild in meinem reaktionseigenen Projekt zu animieren, aber irgendwie kann ich die blurRadius
Eigenschaft nicht animieren. Translate
und Scale
funktionieren gut. Hier ist der Code, den ich für Blur, Skala interpolat
e Werte verwenden und übersetzen:Animiere die Eigenschaft blurRadius mit reaktionseigenem
// Compute image position
const imageTranslate = this.state.scrollY.interpolate({
inputRange: [-IMAGE_MAX_HEIGHT, 0, IMAGE_MAX_HEIGHT],
outputRange: [IMAGE_MAX_HEIGHT/2, 0, -IMAGE_MAX_HEIGHT/3],
extrapolate: 'clamp',
});
// Compute image blur
const imageBlur = this.state.scrollY.interpolate({
inputRange: [0, IMAGE_MAX_HEIGHT],
outputRange: [0, 100],
extrapolate: 'clamp',
});
// Compute image scale
const imageScale = this.state.scrollY.interpolate({
inputRange: [-IMAGE_MAX_HEIGHT, 0, IMAGE_MAX_HEIGHT],
outputRange: [2, 1, 1],
extrapolate: 'clamp',
});
Und das ist mein Image:
return (
<Animated.Image
blurRadius={imageBlur}
source={this.props.imgSrc}
style={[
animatedImageStyles.backgroundImage,
{ transform: [{ translateY: imageTranslate }, { scale: imageScale }] }
]}
/>
);
ich den this.state.scrollY
Wert auf eine ScrollView
Scroll binded.
Animieren von blurRadius Art von Arbeiten in 0,51, aber ich bekomme einige ernsthafte Leistungsprobleme mit Android insbesondere. – 30secondstosam