1

Flex 4.6 モバイル アプリを実行しています。アセット .png ファイルを追加して、さまざまなビューと向きでアプリケーションの背景として表示しようとしています。誰かがこれを行う方法をまだ考え出しましたか?

どんな助けでも大歓迎です:)

4

2 に答える 2

0

私はこの穴の中にいて、出口を知っています。

アプリケーションのスキン クラスを作成する必要があります。複雑すぎる必要はありません。私のファイル (appSkin.mxml) は次のようになります。

<?xml version="1.0" encoding="utf-8"?><s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Metadata>
    [HostComponent("spark.components.View")]
</fx:Metadata>

<!-- states -->
<s:states>
    <s:State name="disabled" />
    <s:State name="normal" />
</s:states>

<s:BitmapImage  source="@Embed('assets/bg.png')" width="100%" height="100%" />

<s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0" />


<!-- SkinParts
name=contentGroup, type=spark.components.Group, required=false
-->

次に、アプリケーションの開始タグで、そのファイルをアプリケーションのskinClassとして宣言する必要があります…</p>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="320"
           creationComplete="creationCompleteHandler()" xmlns:views="views.*" skinClass="skins.appSkin">

次に、最後の手順を 1 つ実行する必要があります。各 View コンポーネントは不透明な背景レイヤーを持っているため、それぞれでそのbackgroundAlpha値を明示的に 0 に設定する必要があります。

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" title="Start" backgroundAlpha="0">

これで、アプリケーションの共通の背景画像を複数のビューで維持するという使命を達成できるはずです。

于 2013-05-09T15:03:33.883 に答える
-1

次のようなことを試してください:

<s:View>
 <fx:Script>
    [Embed(source="myImage.gif")]
    public var myImage :Class;
  </fx:Script>
  <s:Image source="myImage" width="100%" height="100%"/>
</s:View>

Flex への画像の埋め込みに関する情報

ただし、完璧な結果は期待できません。PNG は、事前にレンダリングされたビットマップです。ほとんどの場合、すべてのビューと方向 [および解像度] で正しく表示されない可能性があります。これは、PNG の要素がその場でサイズ変更され、歪んだり、引き伸ばされたり、圧縮されたりする可能性があるためです。たとえば、縦向きから横向きに切り替えるとき。

于 2012-11-07T14:45:27.110 に答える