Bir metin girişine dokunduğumda, klavyeyi tekrar kapatmak için başka bir yere dokunabilmek istiyorum (geri tuşu değil).
örnek kodunuz böyleyse:
<View style={{flex: 1}}> <TextInput keyboardType='numeric'/> </View>
şu kod ile değiştirin:
<ScrollView contentContainerStyle={{flexGrow: 1}} keyboardShouldPersistTaps='handled' > <TextInput keyboardType='numeric'/> </ScrollView>
yada şununla:
import {Keyboard} from 'react-native' <TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}> <View style={{flex: 1}}> <TextInput keyboardType='numeric'/> </View> </TouchableWithoutFeedback>
yada klavyeyi kapatmak için aşağıdakine benzer bir yapı kullanabilirsiniz:
import React from 'react'; import { TouchableWithoutFeedback, Keyboard, View } from 'react-native'; const DismissKeyboardHOC = (Comp) => { return ({ children, ...props }) => ( <TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}> <Comp {...props}> {children} </Comp> </TouchableWithoutFeedback> ); }; const DismissKeyboardView = DismissKeyboardHOC(View)
... render() { <DismissKeyboardView> <TextInput keyboardType='numeric'/> </DismissKeyboardView> }
NOT: accessible={false}giriş formunun VoiceOver aracılığıyla erişilebilir olmasını sağlamak için gereklidir. Görme engelli insanlar size teşekkür edecek!