apache-flex Flex 4.6隐藏/消除软键盘

dsf9zpds  于 2022-11-01  发布在  Apache
关注(0)|答案(3)|浏览(158)

我在Flex 4.6和Air 3.1中的软键盘行为方面遇到一些问题
我有一个顶部有搜索栏的列表。当用户选择TextInput组件时,软键盘会弹出。现在,当用户输入完文本并按下Return(或done/search/...)键时,我希望软键盘消失。
到目前为止,我已经尝试过:

  • 我已经将returnKeyLabel属性设置为“done”,按钮也会相应地显示出来。但是,在Android上,它只会忽略键盘,而在IOS上,键盘会一直显示。
  • 然后,我尝试不设置returnKeyLabel,手动捕获Return键,并将焦点设置到另一个不需要软键盘的元素,但这也不起作用。
  • 我也尝试过在按下Return键时发送我自己的“假”单击事件,但这也不起作用。

作为搜索这个问题的一部分,我发现了这个Dismiss SoftKeyboard in Flex Mobile,但它也不工作。或者至少在flex 4.6中不工作
现在,有没有人知道一个好方法来隐藏软键盘或使returnKeyLabel“完成”工作的IOS,将与flex 4.6/空气3.1?

yeotifhr

yeotifhr1#

你试过这样的东西吗?

<s:TextInput prompt="First Name" returnKeyLabel="done" enter="handlerFunction()"/>  
private function handlerFunction():void{
    stage.focus = null
}
uelo1irk

uelo1irk2#

对于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
            }
        }
plicqrtu

plicqrtu3#

<s:TextInput prompt="First Name" returnKeyLabel="done" enter="{stage.focus = null}"/>

这与Francis的答案相同,但它省去了创建新函数的麻烦

相关问题