代码之家  ›  专栏  ›  技术社区  ›  Sagi Mann

Flex:按钮顶部的BusyIndicator?

  •  1
  • Sagi Mann  · 技术社区  · 12 年前

    我是flex的新手,使用flex 4.6和FB 4.7。我试图在按钮的“前面”(和中间)创建一个BusyIndicator。我在谷歌上找到了一些关于图像叠加的例子,但出于某种原因,它不适用于按钮/指示器组合,我不知道为什么。。。我尝试使用深度属性,但没有效果,按钮出现在指示器上方,即假设指示器用[x]标记:

    [button]
      [x]   <== indicator
    

    我想要的是,指示器将位于按钮的前面和中间:

    [bu[x]ton]
    

    这是我正在使用的布局:

    <s:VGroup width="100%" height="100%" verticalAlign="top" horizontalAlign="center">       
        <s:Button id="mybtn" label="My Inbox" click="onInbox()" depth="1"/>
        <s:BusyIndicator id="myBusyIndicator" rotationInterval="50" depth="2" />
    </s:VGroup>
    

    有什么办法吗? 谢谢

    1 回复  |  直到 12 年前
        1
  •  2
  •   Josh    12 年前

    你似乎误解了什么布局组( VGroup , HGroup , TileGroup )确实如此。它们是二维的,而不是三维的。因此,通过将两个对象放置在VGroup中,它们将沿着y轴垂直堆叠,而不是沿着z轴(根据需要)。

    你想要的只是使用一个简单的 Group 在这里组没有 Layout 到它(它是Vgroup的父类,以及许多其他类),因此所有的定位都由子类处理,而不是由父类(Group)处理。

    <s:Group>
        <s:Button/>
        <s:BusyIndicator horizontalCenter="0" verticalCenter="0"/>
    </s:Group>
    

    它在级别0创建一个按钮,然后在级别1(1>0)放置一个BusyIndicator,并将其水平和垂直居中( horizontalCenter verticalCenter 以像素为单位从中心到它们各自的轴)

    推荐文章