gpt4 book ai didi

apache-flex - Adobe Flex/AIR : Scrolling a sub-component,不是整个窗口

转载 作者:行者123 更新时间:2023-12-04 18:17:36 25 4
gpt4 key购买 nike

我正在使用Adobe Flex和AIR开发应用程序,并且一直在摸索中试图找出如何解决滚动问题。

我的主应用程序窗口的基本结构(大大简化了)是这样的:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
paddingTop="0" paddingRight="0" paddingBottom="0" paddingLeft="0"
width="800" height="600" layout="vertical" verticalAlign="top"
>
<mx:VBox id="MainContainer" width="100%" height="100%">
<mx:Panel id="Toolbars" width="100%" height="25" />
<mx:HDividedBox width="100%" height="100%" >
<mx:Panel id="Navigation" minWidth="200" height="100%" />
<mx:VBox id="MainContent" width="100%">
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
</mx:VBox>
<mx:Panel id="HelpContent" minWidth="200" height="100%" />
</mx:HDividedBox>
<mx:Panel id="FooterContent" width="100%" height="25" />
</mx:VBox>
</mx:WindowedApplication>

问题在于“MainContent”框可能包含大量子组件,而该长列表的存在会导致垂直滚动条出现在GUI的最高级别上,并围绕“MainContainer” vbox。

它看起来真的很傻,在整个应用程序窗口中都有滚动条。

我正在寻找的是一种解决方案,其中滚动条仅应用于“MainContent” vbox(以及“导航”和“帮助内容”面板,如果它们的内容超出了窗口范围)。

我在StackOverflow上找到了 related question,问题的解决方案是在父容器上使用“autoLayout”和“verticalScrollPolicy”属性。

因此,我尝试将autoLayout =“false”和verticalScrollPolicy =“off”属性添加到所有父容器,以及将verticalScrollPolicy =“on”添加到“MainContent” vbox。但是该实验的最终结果是,仅从主容器中剪切了内容(并且在MainContent vbox中添加了没有拇指的无用滚动条)。

有人知道如何解决这个问题吗?

最佳答案

HBox或VBox会尽力显示没有滚动条的内容。如果内容太大而无法容纳可用边界,则这将迫使父容器(通常一直到主应用程序)成为必须滚动的容器。

在幕后,HBox或VBox在其measure()函数中设置了measuredMinWidth和measuredMinHeight属性,以匹配其子级所需的尺寸。父容器将遵守该建议,并且滚动任务将在显示列表中向上移动。

hasseg的解决方案在许多情况下都可以使用,因为它阻止了容器的测量,但是有点笨拙。这是在不为容器构建替换子类的情况下可以做的事情。在要滚动的容器实例上,将minWidth或minHeight设置为0 。这将优先于该容器的measuredMinWidth或measuredMinHeight属性,从而允许父级将实际大小设置为更可管理的值。

关于apache-flex - Adobe Flex/AIR : Scrolling a sub-component,不是整个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/354840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com