react-native-keyboard-aware-scroll-view中平台之间的不同行为

时间:2019-09-19 16:55:31

标签: android ios react-native

我对库react-native-keyboard-aware-scroll-view有问题。

我已经在Android windowSoftInputMode="adjustPan"中进行配置,并且正在使用enableOnAndroid,并且使用相同的代码,当我在KeyboardAwareScrollView外部的底部使用固定元素时,会有不同的行为。

问题在于,在iOS中,我具有与外部组件相同的高度的额外填充。

这是我的测试代码:

import React from 'react';
import {
  View,
  Text,
  TextInput,
} from 'react-native';
import {KeyboardAwareScrollView} from 'react-native-keyboard-aware-scroll-view'

const App = () => {
  return (
    <>
    <KeyboardAwareScrollView enableOnAndroid extraHeight={0}>
        <View style={{height: 600}}/>
        <TextInput 
        placeholder='hey' 
        style={{
          width: '100%',
          borderWidth: 1,
          height: 60
        }} />
    </KeyboardAwareScrollView>
    <View style={{backgroundColor: '#f0f', paddingVertical: 20, width: '100%'}}>
      <Text>Hello, I'm bottom View</Text>
    </View>
    </>
  );
};

export default App;

这就是行为:

iOS

如您所见,TextInput和Keyboard之间的高度填充大于Android中的高度,并且完全等于底部视图的高度。

iOS

Android

Android

我该如何解决?在此先感谢:)

经过测试:

iOS:12.2

Android:API 28

RN:0.59.10和0.60.5

RNKASV:0.9.1

1 个答案:

答案 0 :(得分:1)

否定地使用extraScrollHeight解决了这个问题。