【问题标题】:Create a scrollable non editable text display创建一个可滚动的不可编辑的文本显示
【发布时间】: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 工作有点久了,但我认为在文本上放置一个空的透明画布会很好。此外,您可能希望在组标记处将 mouseEnabledmouseChildren 设置为 false

标签: actionscript-3 apache-flex mobile air mxml


【解决方案1】:

我被难住的原因是因为我很笨。文本区域似乎不再能够按照原作者的意图行事。但是,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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2014-02-15
    • 2010-11-29
    • 1970-01-01
    • 2013-04-11
    • 2020-03-30
    • 1970-01-01
    相关资源
    最近更新 更多