假设我有一个绝对位于屏幕底部的视图.此视图包含文本输入.当文本输入被聚焦时,我希望视图的底部接触键盘的顶部.

我一直在摆弄键盘AVOIDGVIEW,但键盘一直在我的视图上.用绝对位置做这项工作是不可能的吗?

我还可以try 什么方法?谢谢

推荐答案

几天前,我也遇到了同样的问题(尽管我小时候对TextInput有一个复杂的视图),我不仅希望TextInput能够集中,而且希望整个视图都能"连接"到键盘上.最终对我有用的是以下代码:

constructor(props) {
    super(props);
    this.paddingInput = new Animated.Value(0);
}

componentWillMount() {
    this.keyboardWillShowSub = Keyboard.addListener('keyboardWillShow', this.keyboardWillShow);
    this.keyboardWillHideSub = Keyboard.addListener('keyboardWillHide', this.keyboardWillHide);
}

componentWillUnmount() {
    this.keyboardWillShowSub.remove();
    this.keyboardWillHideSub.remove();
}

keyboardWillShow = (event) => {
    Animated.timing(this.paddingInput, {
        duration: event.duration,
        toValue: 60,
    }).start();
};

keyboardWillHide = (event) => {
    Animated.timing(this.paddingInput, {
        duration: event.duration,
        toValue: 0,
    }).start();
};

render() {
        return (
            <KeyboardAvoidingView behavior='padding' style={{ flex: 1 }}>
                [...]
                <Animated.View style={{ marginBottom: this.paddingInput }}>
                    <TextTranslateInput />
                </Animated.View>
            </KeyboardAvoidingView>
        );
    }

在哪里你还有其他看法.

React-native相关问答推荐

1.5.1 nxworkspace+react-native 版本的Axios url未定义问题

单击时更改ToucheableOpacity colored颜色 不起作用

React Native 应用程序没有在之前的工作代码中执行任何操作就无法运行

react-native 根据状态隐藏显示按钮

React Navigation v5 中的初始路由参数?

Eslint 错误,configuration for rule "import/no-cycle" is invalid

如何 break .map 功能

如何在 React-Native 中创建检测自动位置的map

React-Native + crypto:如何在 React-Native 中生成 HMAC?

Realm 和 React Native - 实现自动更新的最佳实践?

使用 create-react-native-app 创建了一个应用程序,如何将其发布到 Google Play store ?

React-Native 构建失败的应用程序:mergeDebugAssets

如何将 Crashlytics 与 React Native 应用程序集成

React Native ScrollView 在 iOS 上从底部被截断

更改按钮 colored颜色 onPress(切换功能)

无法解析模块react-native-reanimated

React Native Build Error on IOS - typedef 用不同类型重新定义('uint8_t'(又名'unsigned char')与'enum clockid_t')

Jest TransformIgnorePatterns 所有 node_modules 用于 React-Native Preset

如何在 React Native 中从底部滑入和滑出

类型 androidx.appcompat.resources.R$dimen 被定义了多次