2011-04-18 64 views
1

在我的Flex 4應用程序中,我希望所有的警報框都是特定的寬度和高度,我如何在CSS中指定它?我想避免每次我想要顯示警報時指定寬度和高度,這就是爲什麼我想在CSS中設置它,但看起來沒有辦法...... 像這樣的東西不會工作:如何在css中指定flex彈出警告框的高度和寬度?

mx|Alert 
{ 
    height: 100; 
    width: 300; 
} 

回答

0

CSS只能用於設置組件的Style屬性。對於mx:Alert,沒有基於維度的樣式屬性,您可以看到here - 雖然有一個用於調整名爲「headerHeight」的標頭的高度。

您可以嘗試擴展mx:Alert類併爲其提供新的樣式屬性,以允許您通過CSS更改尺寸。或者你可以擴展這個類,並在其構造函數中給它默認的尺寸。

0

你不能開箱即用,但可以通過擴展警報並在updateDisplayList中添加自己的邏輯來檢查樣式並適當更改屬性。

但一般不推薦。只需使用提供給您的屬性。

1

你可以做到這一點使用樣式+這樣的代碼

定義樣式屬性作爲

Alert { 

     height:300; 
     weight:300; 
    } 

注:高度重量警覺的默認樣式

代碼將它們作爲

var alert:Alert = Alert.show("Hello World"); 
alert.explicitHeight = Number(alert.getStyle("height")); 
alert.explicitWidth = Number(alert.getStyle("weight")); 

工作實例Flex3的是

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
    creationComplete="{show()}"> 
    <mx:Style> 
     Alert { 

      height:300; 
      weight:300; 
     } 
    </mx:Style> 
    <mx:Script> 
     <![CDATA[ 
      import mx.controls.Alert; 
      private function show():void 
      { 
       var alert:Alert = Alert.show("Hello World"); 
       alert.explicitHeight = Number(alert.getStyle("height")); 
       alert.explicitWidth = Number(alert.getStyle("weight")); 
      } 
     ]]> 
    </mx:Script> 
</mx:Application> 

說明

由於警報控制默認支持高度重量風格,所以示例使用它們僅用於控股用戶定義作爲變量。

在常規顯示警報/彈出在屏幕上靜態方法顯示類警報被使用,其返回實例/對象創建的 /活性警報/彈出,使用這種參考其屬性可以在運行時如上例所示操作,即explicitHeightexplicitWidth

希望幫助

相關問題