如何在本机中动态修改Scrollview高度

时间:2017-11-15 14:27:59

标签: react-native scrollview

我有一个带有全长屏幕的滚动视图。有一个标志我需要在底部显示按钮。 我使用 Animated.View 在底部显示按钮。 当按钮可见时无法更改滚动视图高度。 如果我尝试使用 marginBottom 进行管理,则会在获得带动画的按钮之前显示不需要的白色。

在这里,我需要动态更改滚动视图高度或透明不需要的白色背景。

以下是代码段:

    const modalY = new Animated.Value(Dimensions.get('window').height);

openModal = () => {
    Animated.timing(modalY, {
        duration: 500,
        toValue: Dimensions.get('window').height - 60
     }).start();
  }

  closeModal = () => {
    Animated.timing(modalY, {
        duration: 300,
        toValue: Dimensions.get('window').height
     }).start();
  }

showButton = () => {
    const animationView = <Animated.View style={[ {width: Dimensions.get('window').width,position: 'absolute'}, { transform:                        [{translateY: modalY}] }]}>
                          <TouchableHighlight    with title height 60/>
                      </Animated.View>;

    return (
      animationView
    );
  };


const marBottom = buttonTitle ? 60 : 0;

这里buttonTitle是标志

<View>
        <ScrollView contentContainerStyle={{ paddingTop: top }} style={{marginBottom:marBottom}}>
            <View style={ [styles.itemscontainer]}>
              { this.myItems()}
            </View>
        </ScrollView>
        { this.showButton() }
        {(buttonTitle) ? this.openModal() : this.closeModal()}
      </View>

Unwanted white space before button visible with animation

0 个答案:

没有答案