0

いくつかの Flex (SDK 4.6) アプリケーションで同じスタイルシート (CSS ファイルに保存) を共有したい。ただし、これらのアプリケーションの SWF に沿ってスタンドアロン ファイルを配布するのではなく、CSS ファイルを Flex アプリケーション ファイルに埋め込みたい (画像などを埋め込むのと同じように)。CSS 宣言には font-embeddings が含まれているため、実行時に CSS をロードすることは (私が思うに) 不可能です。

私がすでに見つけたこと:

  1. 単純に使えません<fx:Script source="@Embed(stylesheet.css)" />。構文が間違っています。

  2. コンポーネントで許可されていない型宣言が CSS に含まれているため、アプリケーション間で共有される一部の MXML コンポーネントでインライン スタイルシートを使用できません。

  3. CSS を SWF にコンパイルすることを選択できますが、これによりスタンドアロンの SWF ファイルが作成されます (したがって、Flex フレームワークを SWF に埋め込むことはできますが、スタンドアロンの CSS を埋め込むことはできません ;])。

明らかな何かが欠けていることを願っています。これはかなり簡単に達成できます。

4

1 に答える 1

2
  • ライブラリ プロジェクトの作成 (swc ファイルの生成)
  • スタイルシートをリソースとして追加する
  • このプロジェクト (またはコンパイル済みの swc) を他のプロジェクトのビルド パスに配置します。
  • 他のプロジェクト内からこのリソースを使用できるようになりました。
    <fx:Style source="stylesheet.css" />

例として: librabry
プロジェクトでは、 がソース フォルダーのsrc/stylesheet.css
場合src、ファイルは自動的にライブラリにパッケージ化されます
。そうでない場合は、ファイルを手動で追加する必要があります。FlashBuilder ではAssetsBuild path編集者。コマンドラインで、-include-fileオプションで追加します。

ライブラリの依存関係として swc を使用する代わりに、swc をテーマの依存関係として定義することもできます。FlashBuilder にThemeは、プロジェクトのプロパティにウィザードがあります。コマンドラインで次を実行します。

mxmlc -theme="/path/to/my/theme.swc" MyApp.mxml

テーマとして使用する場合はfx:Style、アプリケーションにタグを含める必要さえありません。CSS はデフォルトで含まれています。しかし、名前を付ける必要あると思いますdefaults.css

于 2012-09-20T11:20:54.520 に答える