弯曲定位面板内的按钮

时间:2010-03-17 19:57:43

标签: flex

我要做的就是在面板内放一个按钮,旋转该按钮(使其垂直)并将其放在面板边缘。我似乎无法正确地做到这一点。这是我的代码:

<mx:Panel id="weekList"  width="260" height="100%" x="-500" title="Weeks" >
        <mx:List id="weekButtonList"  width="260" borderVisible="false"  contentBackgroundAlpha="0"   dataProvider="{_data.mappoints.week.@number}" itemClick="onWeekClick(event);" >
            <mx:itemRenderer>
                <mx:Component>
                    <mx:Button  buttonMode="true" right="20" width="260" height="50" label="Week {data}"  />
                </mx:Component>
            </mx:itemRenderer>
        </mx:List>

        <mx:HBox id="closeButtonHolder" rotation="90" width="100" >
            <mx:Button  label="OPEN" click="weekListToggle()" />    
        </mx:HBox>

    </mx:Panel>

如果您查看脚本的一部分,您会看到我正在尝试旋转它并将其移动到左侧。我只是想把它移到某个地方,什么都没有用。此外,当我在90%轴上旋转时,文本似乎消失了。有谁知道我能为此做些什么?

2 个答案:

答案 0 :(得分:1)

要旋转文字,您必须嵌入字体。我会玩,看看能否为你的其他问题找到更完整的答案。

好的,这是你的一些问题。

1)你的面板的x是-500所以它在屏幕上是不可能的,也许你出于某种原因需要它,但在我的测试中它只是被推出了视野。

2)旋转需要嵌入字体

3)当您在另一个UI组件中旋转任何UI组件时,默认枢轴位于左上角,因此当按钮旋转时,它实际上会旋转出视图。当你阅读它时这不容易理解,所以这里是一个视觉效果,将容器的左上角视为XY坐标中的0,0:

普通的hbox /按钮布局:

0,0_________________________________
| ________________________________ |
| |                              | | <-container outside
| |      UI component            | |
| |______________________________| |
|__________________________________|

旋转布局:

___________0,0__________________________
|          |                           |
|  UI      |        container          |
| component|                           |
|          |                           |
|          |___________________________|
|          |
|          |
|          |
|          |
|__________|

了解按钮如何在可见区域之外旋转(在您的情况下,它不再位于面板上)解决方案是使用画布或其他可以让您将HBox拉离面板边缘的东西

答案 1 :(得分:1)

使用mx:Canvas并将其宽度设置为100%,如下所示:

<mx:Canvas width="100%">
  <mx:Button buttonMode="true" right="20" width="260" height="50" label="Week {data}"  />
</mx:Canvas>

InvertedSpear回答了你问题的其他部分,所以我不再重复了。