【问题标题】:bottom to top TileLayout从下到上 TileLayout
【发布时间】:2014-08-22 07:16:25
【问题描述】:

我需要一个 TileLayout 从下到上和从右到左渲染元素。像这样的东西:

我设法通过将容器的“layoutDirection”属性设置为“rtl”来欺骗“从右到左”部分的 TileLayout,但垂直渲染没有等效性。

<s:Group layoutDirection="rtl">
    <s:layout>
        <s:TileLayout columnWidth="250" horizontalGap="8"/>
    </s:layout>

    <!-- etc -->    
    <s:Group id="fakeGroup3" layoutDirection="ltr"/>
    <s:Group id="fakeGroup2" layoutDirection="ltr"/>
    <s:Group id="fakeGroup1" layoutDirection="ltr"/>

</s:Group>

有没有简单的方法来实现这一点?还是我应该覆盖 TileLayout?!?

【问题讨论】:

  • 我建议只覆盖 tilelayout 或基于它创建自定义布局。
  • 这就是我最终所做的。我不得不复制整个 TileLayout 代码来创建自己的布局......这篇文章很有帮助:stackoverflow.com/questions/3089884/…

标签: apache-flex flex4.5 flex-spark


【解决方案1】:

您可以将 Tile 布局组锚定到页面底部:

<s:Group width="100%" height="100%" id="outermostLayoutContainer">
    <s:Group layoutDirection="rtl" width="100%" bottom="0">
        <s:layout>
            <s:TileLayout columnWidth="250" horizontalGap="8"/>
        </s:layout>

        <!-- etc -->    
        <s:Group id="fakeGroup3" layoutDirection="ltr"/>
        <s:Group id="fakeGroup2" layoutDirection="ltr"/>
        <s:Group id="fakeGroup1" layoutDirection="ltr"/>

    </s:Group>
</s:Group>

带有bottom="0" 的内部组将根据其子级向上推向屏幕顶部。

【讨论】:

  • 即使这样,TileLayout 也会先填充第一行,然后再将元素放入第二行。我需要的是布局来填充 第一个底行,然后将多余的元素放在上面的行上。
  • 您可以将&lt;s:Spacer /&gt; 添加为fakeGroup 元素列表中的第一个元素。这样能行吗?
猜你喜欢
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-24
  • 1970-01-01
相关资源
最近更新 更多