0

我有一个与我在 Flex 4.6 中开发的 Web 应用程序相关的小问题。

我有一个 800 x 600 像素的应用程序,在某些屏幕中,并非所有内容都显示出来,浏览器中也没有出现滚动。

如何设置应用程序以在浏览器中显示 y 滚动?

问候。

4

2 回答 2

1

我遇到了类似的问题 - Flex 4 web app 700 x 525 px的纸牌游戏- 主要由老年人玩,他们经常放大字体/网页(例如通过在浏览器中使用 CTRL 和 + 键) - 这导致 UI偏移量(如 PopUpWindow 不居中)等。

我的解决方案是使用自定义应用皮肤。

这里是我的代码的一些摘录:

MyApp.mxml:

<s:Application  
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    width="700" height="525" 
    initialize="systemManager.stage.scaleMode=StageScaleMode.SHOW_ALL" 
    skinClass="MySkin">
    ...

MySkin.mxml:(甚至可以在全屏模式下工作)

<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
        xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Metadata>
    <![CDATA[ 
        [HostComponent("spark.components.Application")]
    ]]>
    </fx:Metadata> 

    <fx:Script fb:purpose="styling">
        <![CDATA[
            ....
        ]]>
    </fx:Script>

    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
        <s:State name="normalWithControlBar" />
        <s:State name="disabledWithControlBar" />
    </s:states>

    <s:Group id="mainGroup" x="0" y="0" width="700" height="525">
        <s:layout>
            <s:VerticalLayout gap="0" horizontalAlign="justify" />
        </s:layout>

        <s:Group id="contentGroup" width="700" height="100%" minWidth="0" minHeight="0" />

        <s:Group id="topGroup" minWidth="0" minHeight="0"
                    includeIn="normalWithControlBar, disabledWithControlBar" >

            <s:Rect left="1" right="1" top="1" bottom="1" >
               <s:fill>
                    <s:LinearGradient rotation="90">
                        <s:GradientEntry color="#66BBEE" />
                        <s:GradientEntry color="#3399CC" />
                    </s:LinearGradient>
               </s:fill>
            </s:Rect>

            <s:Rect left="2" right="2" bottom="0" height="1" alpha="0.5">
                <s:fill>
                    <s:SolidColor color="#333333" />
                </s:fill>
            </s:Rect>

            <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0">
                <s:layout>
                    <s:HorizontalLayout paddingLeft="6" paddingRight="6" paddingTop="6" paddingBottom="6" gap="10" />
                </s:layout>
            </s:Group>
        </s:Group>

    </s:Group>
</s:Skin>
于 2013-04-18T11:38:01.477 回答
0

您需要将 Scroller 添加到要滚动的组件中,并确保已将 verticalScrollPolicy 设置为“auto”。 http://help.adobe.com/en_US/flex/using/WSb04c7610c3432839-13869d09121418556f1-7​​ffc.html

于 2013-04-26T08:55:42.923 回答