문제

앱을 구축하는 데 MXML을 사용하는 것에 익숙합니다.

기본적으로 타일 그룹을 사용하여 타일 목록 (6 개)을 만들고 있습니다. 초상화보기에서 초기화되면 멋지게 보입니다 (첫 번째 행에서 3 개, 두 번째로 3).

그러나 방향을 변경하면 새로운 너비와 높이에 따라 타일이 다시 그리기를 원합니다.

스택 오버플로에서 크기 조정 이벤트를들을 수 있다는 것을 알았습니다. 그러나 나는 타일 그룹을 다시 그리는 방법을 모른다.

처음에는 TileGroup에 AutoLayout을 사용할 수 있다고 생각했습니다. 그러나 그것은 속임수를하지 않았습니다. 솔루션을 검색하는 데 어려움을 겪고 있습니다 (아마도 올바른 키 단어를 사용하지 않았을 수도 있습니다).

내가 호출 할 수있는 기능이 있습니까?

아니면 오리엔테이션에 타일을 반응하게 만드는 또 다른 방법이 있습니까?

내 코드는 다음과 같습니다.

<components:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
             xmlns:s="library://ns.adobe.com/flex/spark" xmlns:components="spark.components.*" 
             title="Forex Calculator">
<components:states>
    <s:State name="portrait"/>
    <s:State name="landscape"/>
</components:states>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<s:TileGroup id="mainGroup" includeIn="portrait, landscape" autoLayout="true">
    <s:Rect width="75" height="75">
        <s:fill>
            <s:SolidColor color="0xd54f4f"/>
        </s:fill>
    </s:Rect>
    <s:Rect width="75" height="75">
        <s:fill>
            <s:SolidColor color="0x2f977d"/>
        </s:fill>
    </s:Rect>
    <s:Rect width="75" height="75">
        <s:fill>
            <s:SolidColor color="0xfffca2"/>
        </s:fill>
    </s:Rect>
    <s:Rect width="75" height="75">
        <s:fill>
            <s:SolidColor color="0xfffca2"/>
        </s:fill>
    </s:Rect>
    <s:Rect width="75" height="75">
        <s:fill>
            <s:SolidColor color="0xfffca2"/>
        </s:fill>
    </s:Rect>
</s:TileGroup>   

조언 해주세요! 감사!

저스틴

도움이 되었습니까?

해결책

크기 조정을 기반으로 다시 레이아웃이 자동으로 발생합니다. 그러나 컨테이너를 제공하지 않는 경우 (귀하의 TileGroup 이 경우) 일부 특정 크기 규칙을 사용하면 기본 크기 조정 동작을 적용하며 이는 콘텐츠에 맞는 것입니다. 분명히 그 내용은 초상화 나 조경 상태에 있든 변경되지 않으므로 아무 일도 일어나지 않습니다.

당신이 무엇을하려고하는지 정확히 잘 모르겠지만 width="100%" height="100%" 스트레칭 할 것입니다 TileGroup 전체 화면에 걸쳐. 즉, 크기는 콘텐츠 대신 상위 용기의 크기에 따라 계산됩니다. 따라서 상태가 변경되면 열/행의 수가 변경됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top