1

mxml を使用して Flex コンポーネントをレイアウトし、正しく動作させました。しかし、デフォルトの機能を提供する基本コンポーネントを拡張したかったので、Actionscript に切り替えたいと思いました。

width="100%" と height="100%" を使用してスペース全体を埋めるために使用されたコンポーネントがデフォルトのサイズを使用して表示されているように見えることを除いて、コードは機能しています。どうすれば彼らにスペース全体を再び占有させることができるか知っていますか?

これは、私が遊んでいるテスト コンポーネントで、問題が発生しています。

メイン.mxml

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:bbq="components.*" backgroundGradientColors="[#000000, #3333dd]" minWidth="480" minHeight="320" layout="vertical" verticalAlign="top" horizontalAlign="center" paddingLeft="0" paddingRight="0" paddingTop="30" paddingBottom="0" width="100%" height="100%" >

<mx:VBox backgroundColor="0xcccc66">
    <mx:ViewStack id="mainViewStack" width="100%" height="100%" color="0x323232">
        <bbq:TestComp id="testComp" height="100%" width="100%" />
        <bbq:ResultsBox />
    </mx:ViewStack>
</mx:VBox>    

TestComp.as

package components {

import mx.containers.VBox;

import mx.containers.Panel;

import flash.events.*;

public class TestComp extends VBox {
    private var p:Panel;

    function TestComp(){
        super();
        percentHeight = 100;
        percentWidth = 100;
    }

    override protected function createChildren():void {
        super.createChildren();
        p = new Panel();
        p.percentHeight = 100;
        p.percentWidth = 100;
        p.title = "Test Comp";
        addChild(p);
    }       
}

}

4

3 に答える 3

0

Add inherited method calls; calls to super() methods;

import mx.containers.VBox;
import mx.containers.Panel;
import flash.events.*;

public class TestComp extends VBox {
    private var p:Panel;

    function TestComp(){
        super(); // add this line

        percentHeight = 100;
        percentWidth = 100;
    }

    override protected function createChildren():void {
        super.createChildren(); // add this line

        p = new Panel();
        p.percentHeight = 100;
        p.percentWidth = 100;
        p.title = "Test Comp";
        addChild(p);
    }       
}

In you mxml:

<local:TestComp width="100%" height="100%" />
于 2010-01-19T04:50:15.390 に答える
0

私はそれが何であるかを知ることができると思います。ビュースタック内の他のコンポーネントの 1 つの幅と高さを明示的に設定したと思います。ビュースタック自体に影響を与えたため、追加された他のすべてのコンポーネントもそれらの寸法になります。

于 2010-01-20T03:15:29.717 に答える
0
resizeToContent=true
于 2010-02-01T21:45:30.690 に答える