如何正确设置MX List的角点半径并获得圆角?

问题描述:

我有一大堆的自定义样式mx.components.List组件:如何正确设置MX List的角点半径并获得圆角?

<mx:Style> 
    .dropDownListStyle 
    { 
     border-style: solid; 
     corner-radius: 4; 
    } 
</mx:Style> 

我在AS创建列表:

_dropDown = new List(); 
... 
_dropDown.styleName = "dropDownListStyle"; 

那么列表添加为一个弹出对话框, PopUpManager:

PopUpManager.addPopUp(_dropDown, this); 

问题是新创建的弹出窗口的角不会被舍入。我发现为了获得效果需要边框样式,但添加此属性并没有帮助。我使用Flex 4.1构建项目,但List和它的父项是MX组件,将它们迁移到Spark需要很多工作。

任何想法如何获得圆角?提前致谢!

列表组件(既不是mx也不是spark)没有定义角半径样式。 你应该考虑覆盖列表组件,实现这种风格,或者更简单的方法,把你的名单没有任何边框为可以设置它的拐角半径的容器,并弹出该组件:

/*Box, Canvas, Group...*/ 
.dropDownListHolderStyle { 
    corner-radius: 4; 
    background-color: #FFFFFF; 
    border-color: #FFFFFF; 
    border-style: solid; 
    border-weight: 1; 
    padding-bottom: 2; 
    padding-top: 2; 
    padding-left: 2; 
    padding-right: 2; 
} 
/*List*/ 
.dropDownListStyle { 
    background-color: #FFFFFF; 
} 

和组分:

<s:VGroup id='_dropDownPopup' styleName='dropDownListHolderStyle' [...]> 
    <s:List id='_dropDown' styleName='dropDownListStyle' [...] /> 
</s:VGroup> 

[...]

PopUpManager.addPopUp(_dropDownPopup, this); 

我用cornerRadius风格的属性不是角落半径,也许你拼错了它?但是我只做了Spark,所以它可能不适用于你的情况。

+0

AFAIK,在MX的CSS属性:样式是在 “小写+破折号” 语法,所以上面的样式表应该确定。 – 2011-04-08 12:38:39