创建可滚动的不可编辑文本显示

时间:2018-01-29 19:58:05

标签: actionscript-3 flex mobile air mxml

我对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>

使用可编辑标签的前提足以防止键盘弹出,并允许移动用户通过触摸滚动文本区域。

然而,更新后似乎并非如此。在较新的版本中,键盘弹出,我似乎无法找到实现滚动的方法,并阻止软键盘出现。看起来可编辑字段受到尊重(启用编辑时),但是通过该标记阻止软键盘不是。我可以通过为各种鼠标事件添加事件监听器来禁用软键盘,但这似乎并不理想,也无助于滚动。

这是他们使用此文本区域获取所需功能的简单方法,还是我需要完全使用其他组件。在花费时间尝试研究之后,我不断回到文本区域作为我想要的组件,但正如我所提到的那样,获得理想的行为很困难,而且我对整个语言来说还是比较新的。

如果我将enabled设置为false,我可以阻止键盘出现,但是我似乎无法向鼠标输入添加事件监听器,我需要手动实现滚动。

1 个答案:

答案 0 :(得分:0)

我被难倒的原因是因为我愚蠢。文本区域似乎无法像原作者那样表现出来。但是,RichEditableText组件能够具有我需要的功能。切换到以下游戏所有所需的功能。如果我在阅读文档方面没那么慢,我可能会更快地找到它。

<s:VGroup id="contentPanel" horizontalAlign="center" width="100%" height="100%" paddingTop="15" paddingBottom="15" paddingLeft="15" paddingRight="15" gap="15">
    <s:Scroller width="100%" height="80%">
        <s:RichEditableText id="contents" percentWidth="100" percentHeight="100" editable="false" selectable="false">
        </s:RichEditableText>
    </s:Scroller>
</s:VGroup>