import React, { useState } from 'react'; import { Button, FloatingLayer, Space, Input, PasswordInput } from '@xrnjs/ui'; import { View, Text, Platform, Keyboard } from 'react-native'; import styles from './style'; import Card from '_global/Card'; const KeyboardHandlingScreen = () => { const [visible1, setVisible1] = useState(false); const [visible2, setVisible2] = useState(false); const [visible3, setVisible3] = useState(false); const [keyboardMargin, setKeyboardMargin] = useState(0); const isIOS = Platform.OS === 'ios'; const handleCancel1 = () => { Keyboard.dismiss(); setVisible1(false); }; const handleCancel2 = () => { Keyboard.dismiss(); setVisible2(false); }; const handleCancel3 = () => { Keyboard.dismiss(); setVisible3(false); }; return ( 基础键盘处理示例 用户名 密码 这个示例展示了如何处理键盘遮挡问题。在iOS上使用keyboardMargin, 在Android上使用containerHeight。 普通输入框 setKeyboardMargin(0)} /> 底部输入框 setKeyboardMargin(isIOS ? 320 : 0)} /> 最底部输入框 setKeyboardMargin(isIOS ? 350 : 0)} /> 顶部输入框 setKeyboardMargin(0)} /> 密码输入框 setKeyboardMargin(0)} /> {/* 长内容 */} {Array.from({ length: 50 }) .map((_, index) => `测试键盘遮挡情况${index + 1} `) .join('')} 中间输入框 setKeyboardMargin(isIOS ? 200 : 0)} /> {Array.from({ length: 30 }) .map((_, index) => `更多测试内容${index + 1} `) .join('')} 底部输入框 setKeyboardMargin(isIOS ? 320 : 0)} /> 最底部密码框 setKeyboardMargin(isIOS ? 280 : 0)} /> ); }; export default KeyboardHandlingScreen;