2016-11-01 3 views
2

Ich habe eine ScrollView, die einen oberen Abschnitt mit einer Hintergrundfarbe und einen unteren Abschnitt mit einer anderen anderen Farbe hat.2 verschiedene Hintergrundfarben für ScrollView Bounce

Wenn ein Benutzer über den Inhalt scrollt und die Ansicht springt (elastische Überdehnung), wie kann ich den Hintergrund abhängig von der Bildlaufrichtung entweder mit der Ober- oder der Unterseite konsistent machen?

Antwort

3

Sie können einen Abstandhalter Auf der Oberseite des Scrollview, übertragen und verwenden contentInset es „off-screen“ zu machen, contentOffset die anfängliche Bildlaufposition, um den Einsatz zu kompensieren:

render() { 
    const SPACER_SIZE = 1000; //arbitrary size 
    const TOP_COLOR = 'white'; 
    const BOTTOM_COLOR = 'papayawhip'; 
    return (
    <ScrollView 
     style={{backgroundColor: BOTTOM_COLOR}} 
     contentContainerStyle={{backgroundColor: TOP_COLOR}} 
     contentInset={{top: -SPACER_SIZE}} 
     contentOffset={{y: SPACER_SIZE}}> 

     <View style={{height: SPACER_SIZE}} /> 
     //...your content here 

    </ScrollView> 
); 
} 
+0

ehrfürchtig. Ich danke dir sehr! :-D –

+0

hey gibt es eine Möglichkeit, die Farbe der Bildlaufleiste oder Bildlaufanzeige, die auf der rechten Seite der Liste angezeigt wird, zu ändern. im Falle vertikales Scrollen? – Revansiddh

Verwandte Themen