私のコンポーネントの1つは次のようになります。
<mx:Canvas id="grid" width="100%" height="100%"></mx:Canvas>
CreationCompleteで、キャンバスの寸法に基づいて拡大縮小および配置したいspirteをロードして、カスタムグリッドレイアウトを作成しますが、「grid」の寸法にアクセスすると、0と0が表示されます。取得する方法はありますか絶対値を割り当てない寸法?
私のコンポーネントの1つは次のようになります。
<mx:Canvas id="grid" width="100%" height="100%"></mx:Canvas>
CreationCompleteで、キャンバスの寸法に基づいて拡大縮小および配置したいspirteをロードして、カスタムグリッドレイアウトを作成しますが、「grid」の寸法にアクセスすると、0と0が表示されます。取得する方法はありますか絶対値を割り当てない寸法?
作成されているが、まだ表示されていない (表示されているなど) 可能性はありますか? 最終的なサイズと形状は導出されるため、実際に描画する必要があるまでは発生しません。幅と高さは、実際に使用されている値であることが文書化されています。変更時のイベントもあります。
最悪の場合は、キャンバスの Resize イベントでトラップしてみてください。
Canvas の幅と高さをその親にバインドしようとしましたか? 100% の場合、親と同じサイズになり、キャンバスの親コンテナーに基づいてスプライト (UIComponent) をバインドまたはサイズ変更できます。
現時点では確認できませんが、measuredHeight とmeasuredWidth にアクセスできますか?
私の理解では、Canvas に 1 つ以上の DisplayObject の子が含まれていない限り、適用したパーセンテージ サイズに関係なく、幅と高さのプロパティは常に 0 として報告されます。
いつでも空のダミー DisplayObject を Canvas に追加できますが、それはあまりエレガントではありません。カスタム グリッドの実装方法によっては、設計を再考する必要がある可能性があります...