我有一个简单布局的移动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和键盘之间的按钮?
由于
答案 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()
布赖恩