我碰到這段代碼,它吸引了我。我以前從未見過這樣的皮膚。我想知道是否有任何缺點和替代方案。例如,是否像addChild調用那樣是cpu密集型?通過文檔狀態蒙皮Flex中的按鈕
<s:Button id="loginoutBtn" right="10" top="10" label="Log out" label.loggedout="Log in" skinClass.loggedin="skins.FBLogoutButtonSkin" skinClass.loggedout="skins.FBLoginButtonSkin" click.loggedin="logout()" click.loggedout="login()"/>
背景:上面的按鈕是Login示例的一部分。我已經使用了很多皮膚,但是這個過程幾乎總是導致一個新組件與新皮膚一起使用。此外,將一個ToggleButton,但上面的一個很好的用例?
更好的問題是,如果你必須在x位置有一個登錄和註銷按鈕,你會怎麼做?
我認爲在這種情況下,我有兩個按鈕設置爲它們相關的皮膚和每一個includeIn,所以,
<s:Button id="loginBtn" includeIn="loggedIn" right="10" top="10" skinClass="skins.FBLoginButtonSkin" click="login()"/>
<s:Button id="logoutBtn" includeIn="loggedOut" right="10" top="10" skinClass="skins.FBLogoutButtonSkin" click="logout()" />
我曾經想過皮膚最長的時間作爲多用途,但我看到他們被創建爲一個更多的偏離。這是你遇到的情況嗎? – 2012-03-21 11:28:59
@ 1.21千兆瓦一些皮膚可以是'多用途的';通常是你在一個主題中創建的皮膚;例如你創建一個ButtonSkin,它貫穿整個應用程序應用於所有的按鈕;其他可以是一次性的;這將永遠在不可重用的自定義組件的情況下;但是它們也可以應用於特定情況下的可重用組件,例如:我將皮膚視爲該組件的具體樣式:它只是一種以不同方式呈現組件的方法但不應該改變其行爲或意義。 – RIAstar 2012-03-21 13:15:20
謝謝RIAstar – 2012-03-22 04:39:11