--- id: using-a-scrollview title: Using a ScrollView layout: docs category: The Basics permalink: docs/using-a-scrollview.html next: using-a-listview previous: handling-touches --- The [ScrollView](docs/scrollview.html) is a generic scrolling container that can host multiple components and views. The scrollable items need not be homogenous, and you can scroll both vertically and horizontally (by setting the `horizontal` property). This example creates a vertical `ScrollView` with both images and text mixed together. ```ReactNativeWebPlayer import React, { Component } from 'react'; import { AppRegistry, ScrollView, Image, Text } from 'react-native'; export default class IScrolledDownAndWhatHappenedNextShockedMe extends Component { render() { return ( Scroll me plz If you like Scrolling down What's the best Framework around? React Native ); } } // skip these lines if using Create React Native App AppRegistry.registerComponent( 'AwesomeProject', () => IScrolledDownAndWhatHappenedNextShockedMe); ``` ScrollViews can be configured to allow paging through views using swiping gestures by using the `pagingEnabled` props. Swiping horizontally between views can also be implemented on Android using the [ViewPagerAndroid](docs/viewpagerandroid.html) component. A ScrollView with a single item can be used to allow the user to zoom content. Set up the `maximumZoomScale` and `minimumZoomScale` props and your user will be able to use pinch and expand gestures to zoom in and out. The ScrollView works best to present a small amount of things of a limited size. All the elements and views of a `ScrollView` are rendered, even if they are not currently shown on the screen. If you have a long list of more items that can fit on the screen, you should use a `FlatList` instead. So let's [learn about list views](docs/using-a-listview.html) next.