我在flex 4.6和air 3.1中遇到了软键盘行为的一些问题
我有一个顶部有搜索栏的列表。当用户选择TextInput组件时,软键盘会弹出它应该的样子。 现在,当用户完成输入文本并按下返回(或完成/搜索/ ...)键时,我希望软键盘消失。
到目前为止我尝试过:
我已将returnKeyLabel属性设置为“done”,按钮显示 相应地。然而,它只关闭Android上的键盘 IOS键盘只是熬夜。
然后我尝试不设置returnKeyLabel并手动设置 捕获Return键并将焦点设置为另一个元素 不需要软键盘,但也不起作用。
我也试过在按下Return键时调出我自己的“伪造”点击事件,但这也没有用。
作为搜索此问题的一部分,我发现了Dismiss SoftKeyboard in Flex Mobile,但这也无效。或至少不在flex 4.6
现在有没有人知道隐藏软键盘的好方法或让returnKeyLabel“完成”在IOS上工作,这将适用于flex 4.6 / air 3.1?
答案 0 :(得分:9)
你尝试过这样的事吗?
<s:TextInput prompt="First Name" returnKeyLabel="done" enter="handlerFunction()"/>
private function handlerFunction():void{
stage.focus = null
}
答案 1 :(得分:3)
对于flex移动Android应用程序,我模仿了直观的ios方法,在背景上点击以删除软键盘,如下所示:
import spark.components.supportClasses.*
protected function application1_clickHandler(event:MouseEvent):void
{
if(event.target is StyleableTextField || event.target is StyleableStageText){
// ignore because came from a textInput
}else{
stage.focus = null
// to remove the softkeyboard
}
}
答案 2 :(得分:0)
ls.get('email').then((email) => {
if (email!=null){
ls.get('password').then((password) => {
console.log("password: ", password);
console.log("email: ", email);
this.props.initApp(3,email,'');
this.props.initApp(4,'',password);
this.props.initApp(1,email,password,this.props.data);
});
}
});
这与Francis&#39;相同。回答,但它节省了必须创建新功能