2011-04-08 52 views
4

我有一大堆的自定義樣式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需要很多工作。

任何想法如何獲得圓角?提前致謝!

回答

2

列表組件(既不是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); 
0

我用cornerRadius風格的屬性不是角落半徑,也許你拼錯了它?但是我只做了Spark,所以它可能不適用於你的情況。

+0

AFAIK,在MX的CSS屬性:樣式是在 「小寫+破折號」 語法,所以上面的樣式表應該確定。 – 2011-04-08 12:38:39