【发布时间】:2018-01-29 19:58:04
【问题描述】:
我在 flex/actionscript3/mobile 开发方面的经验很少,但我目前正在处理一个应用程序的问题,并且发现自己有些迷茫。在我目前正在修改的旧版应用程序中,我们之前使用的是 adobe Air 16、Flex 4.6。但是,前一段时间进行了更新,改为使用 Air 23 和 Flex 4.15。
从那以后出现了几个问题,最明显的是我们使用的显示器不再工作。
以前,我们使用以下内容显示从日志文件中提取的一些信息,以供测试人员查看。加载视图时通过控制器添加内容。不包括在内,因为它不是特别重要(至少我认为不是)。
<s:VGroup id="logPanel" horizontalAlign="center" width="100%" height="100%" paddingTop="15" paddingBottom="15" paddingLeft="15" paddingRight="15" gap="15">
<s:TextArea id="logContents" width="100%" height="100%" editable="false" text="Opening file...">
</s:TextArea>
</s:VGroup>
以前使用editable标签足以防止键盘弹出,并允许移动用户通过触摸滚动文本区域。
但是,更新后似乎并非如此。在较新的版本中,键盘弹出,我似乎无法找到实现滚动的方法,并防止软键盘出现。看起来可编辑字段受到尊重(因为启用了编辑),但通过该标签阻止软键盘不是。我可以通过为各种鼠标事件添加事件侦听器来禁用软键盘,但这似乎并不理想,也无助于滚动。
他们是通过此文本区域获得我想要的功能的简单方法,还是我需要为此完全使用不同的组件。在花费时间尝试对此进行研究之后,我不断将文本区域作为我想要的组件,但正如我所提到的,要获得所需的行为很困难,而且我对这门语言整体还很陌生。
如果我将 enabled 设置为 false,我可以防止键盘出现,但是我似乎无法将事件侦听器添加到需要手动实现滚动的鼠标输入。
【问题讨论】:
-
我用 Flex 工作有点久了,但我认为在文本上放置一个空的透明画布会很好。此外,您可能希望在组标记处将 mouseEnabled 和 mouseChildren 设置为 false。
标签: actionscript-3 apache-flex mobile air mxml