【问题标题】:How do I set the minimum label width in a Spark FormItem?如何在 Spark FormItem 中设置最小标签宽度?
【发布时间】:2015-01-14 23:03:33
【问题描述】:

有没有办法在 Spark FormItem 中设置最小标签宽度?我有以下代码,复选框是关闭标签的方式。我希望能够设置最小标签宽度。

<s:Form id="form1" width="100%">
    <s:layout>
        <s:FormLayout id="formLayout1" />
    </s:layout>
    <s:FormItem label="Numbers" >
        <s:CheckBox id="numbersCheckbox" />
    </s:FormItem>
    <s:FormItem label="Letters" >
        <s:CheckBox id="lettersCheckbox" />
    </s:FormItem>
    <s:FormItem >
        <s:Button id="myButton" 
                 label="My Label">
        </s:Button>
    </s:FormItem>
</s:Form>

我想出了一个部分解决方案,但它有副作用。我使用以下 CSS 并将列移到上方,但它也会影响 ID 为“labelDisplay”的任何标签。使用此 CSS 时查看按钮:

    spark|FormItemSkin #labelDisplay {
        paddingRight: 50;
        color: red;
    }

【问题讨论】:

    标签: apache-flex flex4


    【解决方案1】:

    我认为最干净或更确切地说是最好的可重用方法是创建自己的FormItemSkin 来修改FormItem 的标签和内容之间的差距。

    一个快速的解决方案可能是为您的表单项使用单独的布局对象:

    <s:Form id="form1" width="100%" >
        <s:layout>
            <s:FormLayout id="formLayout1"/>
        </s:layout>
        <s:FormItem label="Numbers"  >
            <s:layout>
                <s:HorizontalLayout paddingLeft="10"/>
            </s:layout>
            <s:CheckBox id="numbersCheckbox" />
        </s:FormItem>
        <s:FormItem label="Letters" >
            <s:layout>
                <s:HorizontalLayout paddingLeft="10"/>
            </s:layout>
            <s:CheckBox id="lettersCheckbox" left="20" />
        </s:FormItem>
    </s:Form>
    

    【讨论】:

    • 我现在正在修改皮肤,但是每次都必须创建一个新皮肤很麻烦(不同的间隙)。上面的解决方案很有帮助,但我必须为每个表单项添加布局。
    猜你喜欢
    • 2017-08-29
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 2013-03-14
    • 2016-04-24
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    相关资源
    最近更新 更多