Flex:如何减少组件之间的间距

发布于 2024-08-31 17:50:29 字数 1299 浏览 3 评论 0原文

如何减少 linkBut​​ton 之间和每个 linkBut​​ton 内部的空间?

我已经将 padding 设置为 0 但它已经是 0 了。 我只能更改 LinkBut​​ton 的高度,但无法更改宽度,因为文本是动态的。

<mx:Repeater id="bookmarksRepeater" dataProvider="{dataManager.bookmarksList}">
    <mx:HBox>
        <mx:VBox>
        <mx:HBox>
            <mx:Text >
               <mx:text> {String(bookmarksRepeater.currentItem.name)}</mx:text>
            </mx:Text>
            <mx:LinkButton height="16" rollOverColor="#FFA500" label="Visit" />
            <mx:LinkButton height="16" rollOverColor="#FFA500" label="Add" />
            <mx:LinkButton height="16" rollOverColor="#FFA500" label="Save" />
        </mx:HBox>
     <mx:HBox>
        <mx:Repeater id="tagsRepeater" dataProvider="{bookmarksRepeater.currentItem.tags}">
           <mx:LinkButton height="14" color="0x0033CC" rollOverColor="#FFA500" fontSize="8" label="{String(tagsRepeater.currentItem.name)}"/>
     </mx:Repeater>
     </mx:HBox>
    </mx:VBox>
     <mx:Text height="16" color="0x0033CC" fontWeight="bold" >
    <mx:text> {String(bookmarksRepeater.currentItem.popularity)} </mx:text>
       </mx:Text>
    </mx:HBox>
</mx:Repeater> 

how can I reduce the space between my linkButtons and inside each linkButton ?

I've set padding to 0 but it was already 0.
I've been able to only change the height of the LinkButtons, but I cannot do that with the width because the text is dynamic.

<mx:Repeater id="bookmarksRepeater" dataProvider="{dataManager.bookmarksList}">
    <mx:HBox>
        <mx:VBox>
        <mx:HBox>
            <mx:Text >
               <mx:text> {String(bookmarksRepeater.currentItem.name)}</mx:text>
            </mx:Text>
            <mx:LinkButton height="16" rollOverColor="#FFA500" label="Visit" />
            <mx:LinkButton height="16" rollOverColor="#FFA500" label="Add" />
            <mx:LinkButton height="16" rollOverColor="#FFA500" label="Save" />
        </mx:HBox>
     <mx:HBox>
        <mx:Repeater id="tagsRepeater" dataProvider="{bookmarksRepeater.currentItem.tags}">
           <mx:LinkButton height="14" color="0x0033CC" rollOverColor="#FFA500" fontSize="8" label="{String(tagsRepeater.currentItem.name)}"/>
     </mx:Repeater>
     </mx:HBox>
    </mx:VBox>
     <mx:Text height="16" color="0x0033CC" fontWeight="bold" >
    <mx:text> {String(bookmarksRepeater.currentItem.popularity)} </mx:text>
       </mx:Text>
    </mx:HBox>
</mx:Repeater> 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

春风十里 2024-09-07 17:50:29

您的中继器位于 HBox 内,默认情况下设置了水平间距。要删除此间距,请将水平间隙设置为 0:

 <mx:HBox horizontalGap="0">
    <mx:Repeater id="tagsRepeater" dataProvider="{bookmarksRepeater.currentItem.tags}">
       <mx:LinkButton height="14" color="0x0033CC" rollOverColor="#FFA500" fontSize="8" 
           label="{String(tagsRepeater.currentItem.name)}"/>
    </mx:Repeater>
 </mx:HBox>

Your Repeater is inside an HBox, which has horizontal spacing set by default. To remove this spacing, set the horizontalGap to 0:

 <mx:HBox horizontalGap="0">
    <mx:Repeater id="tagsRepeater" dataProvider="{bookmarksRepeater.currentItem.tags}">
       <mx:LinkButton height="14" color="0x0033CC" rollOverColor="#FFA500" fontSize="8" 
           label="{String(tagsRepeater.currentItem.name)}"/>
    </mx:Repeater>
 </mx:HBox>
隐诗 2024-09-07 17:50:29

要动态设置 LinkBut​​ton 的宽度,您可能必须通过重写容器类的 commitProperties 来实现,并为每个 LinkBut​​ton 计算文本指标:

var m:TextLineMetrics = linkBut​​ton.measureText(lb.label);

然后您应该能够使用计算出的指标为每个 LinkBut​​ton 设置精确的宽度值。

另一种方法是侦听 LinkBut​​ton 上的 labelChanged 事件,然后在侦听器中强制重新计算宽度。

To set the width of the LinkButtons dynamically, you will probably have to do it by overriding commitProperties of your container class, and for each LinkButton calculate the text metrics:

var m:TextLineMetrics = linkButton.measureText(lb.label);

Then you should be able to use the calculated metrics to set a precise width value for each LinkButton.

Another way to do it would be to listen for labelChanged events on the LinkButton, and then force a width recalculation in the listener.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文