React Native键盘的两种适配方案

方案一:

import {KeyboardAvoidingView} from 'react-native';
import {useHeaderHeight} from '@react-navigation/elements';

const headerHeight = useHeaderHeight();

<KeyboardAvoidingView
        behavior={'padding'}
        keyboardVerticalOffset={headerHeight}
        style={styles.container}> 
{children}
</KeyboardAvoidingView>

headerHeight为导航栏高度,导航栏依赖:@react-navigation/native

方案二:


import {SafeAreaView} from 'react-native-safe-area-context';

<SafeAreaView
      mode="padding"
      edges={{top: 'off', bottom: 'additive'}}
      style={{backgroundColor: white}}>
{children}

</SafeAreaView>

前置依赖:react-native-safe-area-context

off:关闭安全区适配

additive:增加安全区适配

总结:

方案一:采用的是避让逻辑,通过KeyboardAvoidingView组件将视图上移;

方案二:采用的是占位逻辑,通过获取Keyboard高度,在显示Keyboard时,在视图底部填充等高空白视图。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值