Flex防止软键盘关闭

时间:2012-01-29 19:30:52

标签: flex mobile air soft-keyboard

我有一个简单布局的移动AIR应用程序:

<s:layout><s:VerticalLayout /></s:layout>

<s:TextArea width="100%" height="100%" />

<HGroup width="100%" >
     <s:Button label="button" />
     <s:Button label="button" />
     <s:Button label="button" />
</HGroup>

通过在主应用程序中设置resizeForSoftKeyboard =“true”,应用程序设置为在软键盘打开时调整大小。 textArea使用默认的Flex 4.6外观 我的问题是,如果用户通过在我的texArea中键入文本来打开键盘,他将无法单击TextArea下面的按钮,因为一旦他尝试单击一个按钮,软键盘就会降低(因为它的焦点是TextArea?)并立即再次打开(因为mouseDown位置现在位于TextArea之上?)。

如何阻止软键盘关闭,以便用户可以单击TextArea和键盘之间的按钮?

由于

2 个答案:

答案 0 :(得分:1)

这很奇怪。我自己尝试运行你的程序,我没有遇到任何麻烦:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="320" resizeForSoftKeyboard="true">
    <s:layout><s:VerticalLayout /></s:layout>

    <s:TextArea width="100%" height="100%" />

    <s:HGroup width="100%" >
        <s:Button label="button" click="trace('clicked')"/>
        <s:Button label="button" click="trace('clicked')" />
        <s:Button label="button" click="trace('clicked')" />
    </s:HGroup>
</s:Application>

触摸文本区域时键盘打开,单击按钮时关闭(不再打开),调试时点击显示在控制台中。

你没有发布整个应用程序,你在完整的程序中有什么我没有的吗?在这种情况下,我会看到是否有任何干扰UI。

答案 1 :(得分:0)

可能会在单击按钮时添加一个事件来调出键盘,即在该按钮的单击事件处理程序中。

另外(我自己也试过这个),但是在该视图的键盘的deactivate事件中,添加event.preventDefault()

布赖恩