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

of1yzvn4  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(119)

我对flex/actionscript 3/移动的开发没有什么经验,但我目前正在处理一个应用程序的问题,我发现自己有点迷失了方向。在我目前正在修改的一个遗留应用程序中,我们以前使用的是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,我就可以阻止键盘出现,但是我似乎无法向鼠标输入添加事件侦听器,而我需要手动实现滚动。

agxfikkp

agxfikkp1#

我被难倒的原因是因为我太笨了。文本区域似乎不能再按照原作者的意图运行了。然而,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>

相关问题