如何在一个布局中只有下半部分可以滚动?



  • ![alt text](image u0_1465616381053_77777777.png rl)

    如上图,我只想下面部分红色的方块可以滚动,但是在rn中render方法只能返回一个跟布局,如果将跟布局换成scrollview,那么上面的两个按钮将随着一起滚动,请问要怎么做到只有下面部分滚动?

    我的代码如下:
    const RNIntegrations = React.createClass({

    getInitialState() {
        return {
            views: [],
        };
    },
    
    componentWillUpdate() {
        LayoutAnimation.linear();
    },
    
    _onPressAddView() {
        this.setState((state) => ({views: [...state.views, {}]}));
    },
    
    _onPressRemoveView() {
        //返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。负数表示从末尾开始第几个
        this.setState((state) => ({views: state.views.slice(0, -1)}));
    },
    
    render() {
        const views = this.state.views.map((view, i) =>
            <View key={i} style={styles.view}>
                <Text>{i}</Text>
            </View>
        );
        return (
            <View style={styles.container}>
                <TouchableOpacity onPress={this._onPressAddView}>
                    <View style={styles.button}>
                        <Text>Add view</Text>
                    </View>
                </TouchableOpacity>
                <TouchableOpacity onPress={this._onPressRemoveView}>
                    <View style={styles.button}>
                        <Text>Remove view</Text>
                    </View>
                </TouchableOpacity>
                <View style={styles.viewContainer}>
                    {views}
                </View>
            </View>
        );
    },
    

    });



  • 为何会有这么死板的问题。。。

    <View>
      <View />
      <ScrollView />
    </View>
    


  • 试过你说的这种方式,但是scrollview不可滚动。



  • @Jay-Y 那是因为你没给ScrollView及其所有父容器加上flex:1