如何正确设置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,所以它可能不适用于你的情况。
AFAIK,在MX的CSS属性:样式是在 “小写+破折号” 语法,所以上面的样式表应该确定。 – 2011-04-08 12:38:39