| Flex 2 ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º°ú È®Àå > ActionScript ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º > ActionScript ¿¡ ÀÇÇÑ È®ÀåµÈ ºñÁÖ¾ó ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º > ÄÄÆÛ³ÍÆ®ÀÇ ±¸Çö > measure() ¸Þ¼ÒµåÀÇ ±¸Çö | |||
measure() ¸Þ¼ÒµåÀÇ ±¸Çö
measure() ¸Þ¼Òµå´Â, µðÆúÆ®ÀÇ ÄÄÆÛ³ÍÆ®ÀÇ Å©±â¸¦ Çȼ¿·Î ¼³Á¤ÇÒ »Ó¸¸ ¾Æ´Ï¶ó, ¿É¼ÇÀ¸·Î ÄÄÆÛ³ÍÆ®ÀÇ µðÆúÆ®ÀÇ ÃÖ¼Ò Å©±â¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Flex ´Â,invalidateSize() ¸Þ¼ÒµåÀÇ È£ÃâÀÌ ¹ß»ýÇßÀ» ¶§¿¡,measure() ¸Þ¼ÒµåÀÇ È£ÃâÀ» ½ºÄÉÁÙ¸µ ÇÕ´Ï´Ù. measure() ¸Þ¼Òµå´Â,invalidateSize() ¸Þ¼ÒµåÀÇ È£Ãâ ÈÄ, ´ÙÀ½¹øÀÇ render À̺¥Æ®ÀÇ ±â°£¿¡ ½ÇÇàµË´Ï´Ù. addChild() ¸Þ¼Òµå¸¦ »ç¿ëÇØ ÄÄÆÛ³ÍÆ®¸¦ ÄÁÅ×À̳ʿ¡ Ãß°¡ÇÏ´Â °æ¿ì,Flex ´Â,invalidateSize() ¸Þ¼Òµå¸¦ ÀÚµ¿ÀûÀ¸·Î È£ÃâÇÕ´Ï´Ù.
ÄÄÆÛ³ÍÆ®ÀÇ ³ôÀÌ¿Í ÆøÀ» ¼³Á¤ÇÏ´Â °æ¿ì, Flex ´Â, ¸í½ÃÀûÀ¸·Î invalidateSize() ¸Þ¼Òµå¸¦ È£ÃâÇß´Ù°í ÇØµµ,measure() ¸Þ¼Òµå¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù. Áï, Flex ´Â,explicitWidth properties ³ª explicitHeight properties °¡ NaN ÀÇ °æ¿ì¿¡¸¸,measure() ¸Þ¼Òµå¸¦ È£ÃâÇÏ°Ô µË´Ï´Ù.
´ÙÀ½ÀÇ ¿¹¿¡¼´Â, Button ÄÁÆ®·ÑÀÇ Å©±â¸¦ ¸í½ÃÀûÀ¸·Î ¼³Á¤ÇØ ÀÖ±â (À§ÇØ)¶§¹®¿¡, Flex ´Â Button.measure() ¸Þ¼Òµå¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù.
<mx:Button height="10" width="10"/>
±âÁ¸ÀÇ ÄÄÆÛ³ÍÆ®ÀÇ ¼ºê Ŭ·¡½º¿¡¼´Â, Super Ŭ·¡½º¿¡¼ Á¤ÀÇµÈ µðÆúÆ®ÀÇ Å©±â ¼³Á¤ ±ÔÄ¢¿¡ ´ëÇÑ º¯°æÀÌ ÇÊ¿äÇÑ ¾×¼ÇÀ» ½ÇÇàÇÏ´Â °æ¿ì¿¡°Ô¸¸,measure() ¸Þ¼Òµå¸¦ ±¸ÇöÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. µû¶ó¼, »õ·Î¿î µðÆúÆ® Å©±â¸¦ ¼³Á¤Çϰųª ½ÇÇà½Ã¿¡ °è»êÀ» ½ÇÇàÇϰųª ÇØ, ÄÄÆÛ³ÍÆ®ÀÇ Å©±â ¼³Á¤ ±ÔÄ¢À» °áÁ¤ÇÏ·Á¸é ,measure() ¸Þ¼Òµå¸¦ ±¸ÇöÇØ ÁÖ¼¼¿ä.
measure() ¸Þ¼Òµå·Î ´ÙÀ½ÀÇ properties ¸¦ ¼³Á¤ÇØ, µðÆúÆ® Å©±â¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
|
properties |
Ư¼º |
¼³¸í |
|---|---|---|
measuredHeight
measuredWidth
|
µðÆúÆ®ÀÇ ³ôÀÌ¿Í Æø |
ÄÄÆÛ³ÍÆ®ÀÇ µðÆúÆ®ÀÇ ³ôÀÌ¿Í Æø (Çȼ¿ ´ÜÀ§)À» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ properties ´Â, |
measuredMinHeight
measuredMinWidth
|
µðÆúÆ®ÀÇ ÃÖ¼ÒÀÇ ³ôÀÌ¿Í Æø |
ÄÄÆÛ³ÍÆ®ÀÇ µðÆúÆ®ÀÇ ÃÖ¼Ò ³ôÀÌ¿Í ÃÖ¼ÒÆø (Çȼ¿ ´ÜÀ§)À» ÁöÁ¤ÇÕ´Ï´Ù. Flex ¿¡¼´Â, ÁöÁ¤µÈ ÃÖ¼Ò Å©±âº¸´Ù ÀÛÀº ÄÄÆÛ³ÍÆ®ÀÇ Å©±â¸¦ ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù. |
measure() ¸Þ¼Òµå´Â, ÄÄÆÛ³ÍÆ®ÀÇ µðÆúÆ®ÀÇ Å©±â¸¦ ¼³Á¤ÇÒ »ÓÀÔ´Ï´Ù. updateDisplayList() ¸Þ¼Òµå¿¡¼´Â, ÄÄÆÛ³ÍÆ®ÀÇ ºÎ¸ð ÄÁÅ×À̳ʴÂ, µðÆúÆ®ÀÇ Å©±â°¡ ¾Æ´Ï°í, ½ÇÁ¦ÀÇ Å©±â¸¦ °Ç³×ÁÝ´Ï´Ù.
ÄÄÆÛ³ÍÆ®ÀÇ À¯Àú´Â, ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ÄÄÆÛ³ÍÆ®¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î, µðÆúÆ® Å©±âÀÇ ¼³Á¤À» ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀçÁ¤ÀÇ(override) ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
explicitHeightproperties ¿ÍexlicitWidthproperties ¸¦ ¼³Á¤ÇÑ´Ùwidthproperties ¿Íheightproperties ¸¦ ¼³Á¤ÇÑ´ÙpercentHeightproperties ¿ÍpercentWidthproperties ¸¦ ¼³Á¤ÇÑ´Ù
¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ ¿¹ÀÇ °°°Ô,Button ÄÁÆ®·ÑÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¿¡¼´Â, µðÆúÆ® Å©±â´Â Æø 100 Çȼ¿, ³ôÀÌ 50 Çȼ¿·Î, µðÆúÆ®ÀÇ ÃÖ¼Ò Å©±â´Â 50 Çȼ¿ 25 Çȼ¿·Î ÇÕ´Ï´Ù.
package myComponents
{
public class BlueButton extends Button {
public function BlueButton() {
super();
}
override protected function measure() :void {
super.measure();
measuredWidth=100;
measuredMinWidth=50;
measuredHeight=50;
measuredMinHeight=25;
}
}
}
´ÙÀ½ÀÇ ¾îÇø®ÄÉÀ̼ÇÀº, ÀÌ ¹öưÀ» ¾îÇø®ÄÉÀ̼ÇÀ¸·Î »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
<? xml version="1. 0"? >
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:MyComp="myComponents. *" >
<mx:VBox>
<MyComp:BlueButton/>
<mx:Button>
</mx:VBox>
</mx:Application>
¹öư¿¡ ´ëÇØ¼ ´Ù¸¥ Å©±â ¼³Á¤ÀÇ Á¦¾àÀÌ ¾ø´Â °æ¿ì´Â,VBox ÄÁÅ×À̳ʴÂ, ¹öưÀÇ µðÆúÆ® Å©±â¿Í µðÆúÆ® ÃÖ¼Ò Å©±â¸¦ »ç¿ëÇØ, ½ÇÇà½ÃÀÇ Å©±â¸¦ °è»êÇÕ´Ï´Ù. ÄÄÆÛ³ÍÆ®ÀÇ Å©±â ¼³Á¤ ±ÔÄ¢¿¡ °üÇÑ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â, ¡¸Flex 2 °³¹ß °¡À̵塹ÀÇÄÁÅ×À̳ʿ¡ ´ëÇØ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
´ÙÀ½ÀÇ ¿¹ÀÇ °°°Ô, µðÆúÆ®ÀÇ Å©±â ¼³Á¤À» ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀçÁ¤ÀÇ(override) ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<mx:VBox>
<MyComp:BlueButton width="50%"/>
<mx:Button>
</mx:VBox>
ÀÌ ¿¹¿¡¼´Â, ¹öưÀÇ ÆøÀº VBox ÄÁÅ×À̳ÊÀÇ ÆøÀÇ 50% ·Î ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. ÄÁÅ×À̳ÊÀÇ ÆøÀÇ 50% °¡ ¹öưÀÇ ÃÖ¼ÒÆøº¸´Ù ÀÛÀº °æ¿ì´Â, ¹öưÀº ÃÖ¼ÒÆøÀÌ µË´Ï´Ù.
