2013-05-27 8 views
0
<s:Button id="btn1" label="1" width="18" includeInLayout="true" visible="true" click="onSmallBtnClick();" /> 
<s:Button id ="btn2" label="2" width="18" includeInLayout="true" visible="true" click="onSmallBtnClick();" /> 
<s:Button id ="btn3" label="3" width="18" includeInLayout="true" visible="true" click="onSmallBtnClick();" /> 
<s:Button id="bigButton" label="bigButton" width="72" includeInLayout="false" visible="false" /> 

private function onSmallBtnClick():void { 
    hideBtn(btn1); 
    hideBtn(btn2); 
    hideBtn(btn3); 
    showBtn(bigButton); 
} 

private function showBtn(button:Button):void { 
    button.visible = true; 
    button.includeInLayout = true; 
} 

private function hideBtn(button:Button):void { 
    button.visible = false; 
    button.includeInLayout = false; 
} 

안녕하세요. 위의 Flex 코드에서 인터페이스에 4 개의 버튼이 있습니다. 인터페이스는 작은 버튼 1,2,3으로 시작하고 bigButton은 보이지 않게 시작해야합니다. 작은 버튼 중 하나를 클릭하면 큰 버튼이 3 개의 작은 버튼 대신 나타납니다. 작은 버튼의 너비는 18로 설정되고 bigButton 너비는 72로 설정됩니다.엑스트라 픽셀 버튼 폭 있음

제 질문은 BigButton의 너비가 54 일 때, 18x3 = 54일까요? 또는 내가 알아야 할 버튼 안에 패딩이 있습니까? 이 live docs 페이지에서는 말한다 .. 기본적으로

는, 플렉스 라벨, 어떤 아이콘 플러스 아이콘 주위 패딩의 6 개 픽셀의 크기에 맞게 버튼 컨트롤의 폭을 뻗어. 당신은 명시 적으로 특정 값으로 또는 부모 컨테이너의 비율에 Button 컨트롤의 width 속성 을 설정하여이 기본 폭을 대체 할 수 있습니다. 당신이 백분율 값을 지정하면 버튼 는 최소의 부모 컨테이너의 크기가 변경 등 최대 폭 사이의 크기를 조정합니다.

이 문제가 될 수 있을까요? 3 개의 버튼이 있고 아이콘 주위의 패딩은 6x3 = 18 픽셀을 차지합니다. 단추 사이에 간격이없는 것 같습니다. 그래서 여분의 18 픽셀이 어디서 왔는지 궁금합니다.

감사합니다.

+0

당신은 hgroup의 폭이 72 기본값 건가요? 54보다는 오히려? – Zeus

답변

1

는 최대한 빨리 버튼에 설정 한 x 또는 left 사물을하지 않는 한, 나는 당신이 HGroup 또는 HorizontalLayout와 다른 용기 같은 것을 사용 같아요. 이 gap이라는 속성을 가지고 있으며,이 속성은 기본적으로 6입니다. 하지만, 그것은 ... 12 픽셀 추가 모든 버튼에 0minWidth를 설정하는

시도를 18px를 추가하지 않습니다.

+0

답변 해 주셔서 감사합니다. 나는 실제로 HGroup을 사용하고 있습니다. 여분의 6 개 픽셀은 어디에서 온 – paperclip

+0

는하지만 확실하지 않다. 그래서 나는 받아 들일 수 있기 전에 더 나은 대답을 기다릴 것이다. 다시 한 번 감사드립니다! – paperclip