2009-10-27 3 views
1

flex에서 상단 모서리 만 반올림하여 HBox을 만들려고합니다. HBox (및 다른 모든 플렉스 컨테이너)은 cornerRadius 스타일이지만 모든 구석에 적용됩니다. 개별 구석의 스타일을 지정하는 방법이 보이지 않습니다.Flex에서 상단 모서리 만 반올림하여 HBox를 만드는 방법은 무엇입니까?

내장 된 방법이 있습니까, 아니면 둥근 모서리로 배경을 그리기 위해 내 자신의 사용자 지정 그리기 코드를 작성해야합니까?

답변

3

사용중인 경계선에 따라 다릅니다. 내장 스킨 (HaloBorder)을 사용하는 경우 "roundedBottomCorners"(부울 값) 스타일을 지정할 수 있습니다.이 스타일을 사용하면 하단 모서리를 반올림할지 여부를 제어 할 수 있습니다. 자신의 테두리 스킨을 사용하는 경우 모퉁이를 제어하려는 스타일을 추가 할 수 있습니다.

+0

스킨도 보지 않았습니다. 난 그냥 기본 설정이 무엇이든 사용하고 있습니다. roundedBottomCorners 일을 시도해보고 작동하는지 확인해 보겠습니다. – Herms

+0

그 반대도 할 수있는 방법이 있습니까? 둥근 바닥 모서리가 아니라 상단? – Herms

+0

roundedBottomCorners는 HBox에 적용되지 않습니다. –

3

아아, 내가 알고있는 유일한 솔루션은 프로그래밍 스키닝을 사용하여 배경을 직접 그릴 수있다 - 특히, orderriding RectangularBorder ::

package 
{ 
    import mx.skins.RectangularBorder; 

    public class HBoxSkin extends RectangularBorder 
    { 
     public function HBoxSkin() 
     { 
      super(); 
     } 

     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
     { 
      super.updateDisplayList(unscaledWidth, unscaledHeight); 

      var cr:Number = getStyle("cornerRadius"); 
      var bc:Number = getStyle("backgroundColor"); 

      graphics.clear(); 
      graphics.beginFill(bc, 1); 

      // Draw the rectangle manually, rounding only the top two corners 
      graphics.drawRoundRectComplex(0, 0, unscaledWidth, unscaledHeight, cr, cr, 0, 0); 
      graphics.endFill(); 
     } 
    } 
} 

... 다음의 borderSkin 속성을 사용하여 변경 사항을 적용하여 HBox의 :

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 

    <!-- Apply the skin using the borderSkin property of your HBox --> 
    <mx:HBox borderSkin="HBoxSkin" backgroundColor="#FFFFFF" cornerRadius="10" height="100" width="100" top="10" left="10" /> 

</mx:Application> 

프로그램 스킨을 구현하는 방법의 Flex Documentation gives an example. 불행히도 (초보자를 초월한 수준입니다.) (필자는 Flex 4에서이 작업을 훨씬 쉽게 처리 할 수 ​​있습니다.) 필자의 예제와 문서에서 코드를 따르는 경우 함께 사용할 수 있어야합니다. 행운을 빕니다!

+0

이것은 원래 질문에 비해 더 복잡하지만 여전히 나에게 매우 도움이됩니다. HBox가 필요하게 될 것입니다. 나중에 임의의 모서리를 둥글게 만들 수 있습니다. 그리고 그것을 쉽게 적용 할 수있는 것처럼 보입니다. – Herms

관련 문제