2017-03-06 1 views
2

レイアウトにトップバナーとして3px幅と150px高さの単純なビットマップイメージがあります。AS3:レスポンシブなmxmlサイズ変更ビットマップイメージを作成し、ブラウザごとにサイズを変更します。

<s:BitmapImage id="blueBanner" source="{this.bmpimg}" width="100%"/> 

残りのコンテンツはこれより中央に配置されています。

ブラウザウィンドウのサイズに関係なくページが開かれると、イメージは常に利用可能な幅を満たします。

バナーの下のメインコンテンツを新しいウィンドウサイズの中央にリセットするブラウザウィンドウサイズ変更ハンドラがあり、これは完全に機能します。

ただし、ブラウザのサイズが何回変更されても、BitmapImageは元のウィンドウの幅よりもの幅が広くなりません。

BitmapImageのすべてのプロパティとメソッドを試しましたが、これはサイズ変更ハンドラでこれに影響すると思いますが、何も見つからないものは何もありません。

最初のステージ幅をどのように覚えているか分かりません。

その親コン​​テナはすべて100%幅に設定されています。レイアウトに含めることができる機能を除いて、このオブジェクトに対する珍しいスキンやその他の参照はプロジェクト全体に存在しません。この場合は決して呼び出されません。

誰でも自動的に伸びない理由を知る手がかりはありますか?

ダグ

+1

あなたはScaleModeを見ましたか? –

+1

@NealDavis私が同意すると、stage.scaleModeが設定されていないと、コンテンツは自動的に拡大縮小され、決してハンドラは呼び出されません。 – Organis

+0

小さなサンプルアプリケーションを投稿すると、私は一見することができます。 – Clintm

答えて

0

シンプル、ちょうどscreen.widthの幅を設定し、あなたが行ってもいいです。

<s:BitmapImage id="blueBanner" source="{this.bmpimg}" width="{screen.width}"/> 
0

ありがとうございました。実際、私はBitmapImageラインをアプリケーションスキンに追加することでこの問題を解決しました。一度それがここにある同様にレイアウトでそれは動作します。なぜ私はそれが両方の場所にある必要があるのか​​分かりませんが、このように設定されるとすべて正常に動作します。

ScaleModeを設定すると、違いはありません。また、blueBannerタグ以降のresizeHandler(常にタグが実行されているとは限りません)では、screen.widthを設定してもレイアウトに違いはありません。

ダグ

関連する問題