React本机Android键盘突出显示文本问题
在React Native上突出显示输入组件中的文本时出现android问题 功能正常重新启动应用程序时,您可以打开和关闭输入框,并按如下方式键入和发送消息: 现在,当您按住文本以高亮显示它(以便可以复制/粘贴/剪切文本)时,会出现问题: 发生这种情况后,关闭并重新打开文本框具有相同的效果(显示底部的导航栏)。现在,无论键盘是否处于活动状态,键盘似乎覆盖在屏幕顶部,因为下面的文本被渲染为键盘最小化 这个特性如何在整个键盘应用程序中打破状态?有人可以链接或通知我如何处理或访问Android顶部显示的复制/粘贴功能吗?没有意义的是,一旦发生这种情况,整个应用程序就会因键盘输入而中断—您可以通过重新启动应用程序使其重新工作 相关代码如下(如果有遗漏,请说): DeviceEventEmitter代码:React本机Android键盘突出显示文本问题,android,reactjs,react-native,Android,Reactjs,React Native,在React Native上突出显示输入组件中的文本时出现android问题 功能正常重新启动应用程序时,您可以打开和关闭输入框,并按如下方式键入和发送消息: 现在,当您按住文本以高亮显示它(以便可以复制/粘贴/剪切文本)时,会出现问题: 发生这种情况后,关闭并重新打开文本框具有相同的效果(显示底部的导航栏)。现在,无论键盘是否处于活动状态,键盘似乎覆盖在屏幕顶部,因为下面的文本被渲染为键盘最小化 这个特性如何在整个键盘应用程序中打破状态?有人可以链接或通知我如何处理或访问Android顶
componentDidMount: function(){
let context = this,
DeviceEventEmitter.addListener('keyboardWillShow', function(e: Event) {
context.setState({
height: context.listViewMaxHeight - e.endCoordinates.height + 50,
});
});
DeviceEventEmitter.addListener('keyboardWillHide', function(e: Event) {
context.setState({
height: context.listViewMaxHeight,
})
});
}
组件渲染函数中的TextInput组件:
<View style={styles.textInputContainer}>
<TextInput
maxNumberOfLines={8}
multiline={true}
autoFocus={false}
editable={true}
numberOfLines= {5}
ref='textInput'
onChangeText={this.onChangeText}
style={[styles.textInput, {height: context.props.textInputHeight}]}
placeholder={context.props.placeholder}
placeholderTextColor="#5A5A5A"
value={context.state.text}/>
<Button
style={styles.sendButton}
onPress={this._onPress}
disabled={this.state.disabled}>
Send </Button>
</View>
发送
解决此问题的第一个主要部分是使用keyboardDidShow和keyboardDidHide,而不是keyboardWillShow和keyboardWillHide。(谢谢你@pinewood)
第二个组件是确保使用清单来获得所需的键盘功能,目前我们改为:
<activity android:windowSoftInputMode="stateUnspecified|adjustPan" />
解决此问题的第一个主要部分是使用keyboardDidShow和keyboardDidHide,而不是keyboardWillShow和keyboardWillHide。(谢谢你@pinewood)
第二个组件是确保使用清单来获得所需的键盘功能,目前我们改为:
<activity android:windowSoftInputMode="stateUnspecified|adjustPan" />
我不确定这是否是问题所在,因为键盘在大多数情况下都能正常工作,但我不认为keyboardWillHide和keyboardWillShow在Android上已经实现。然而,keyboardDidShow和keyboardDidHide是。请参阅:@pinewood Yeh键盘工作正常,因为当突出显示的功能显示在顶部时,您仍然可以键入并关闭键盘,因此键盘不是问题所在。突出显示的文本打断的是视图的高度,在该视图中,无论键盘事件发射器设置状态高度如何,内容都会返回到键盘未显示时的位置。如果有一个组件的名称,我可能能够更好地管理状态的基础上,它的属性,如果它是active@pinewood哦,是的,我试过使用DidShow和DidHide,当然,它们的功能都是一样的。我不确定这是否是问题所在,因为大多数时候键盘的操作都是正确的,但我不认为keyboardWillHide和keyboardWillShow已经在Android上实现了。然而,keyboardDidShow和keyboardDidHide是。请参阅:@pinewood Yeh键盘工作正常,因为当突出显示的功能显示在顶部时,您仍然可以键入并关闭键盘,因此键盘不是问题所在。突出显示的文本打断的是视图的高度,在该视图中,无论键盘事件发射器设置状态高度如何,内容都会返回到键盘未显示时的位置。如果有一个组件的名称,我可能能够更好地管理状态的基础上,它的属性,如果它是active@pinewood哦,是的,我试过使用DidShow和DidHide,当然,两者的功能都一样。