かの応用"skinnable"?
-
21-08-2019 - |
質問
ある一部の標準的な方法だっ用skinnable?
による"skinnable"という能力の支援に複数のカサカサしています。
私は標的の他、各プラットフォームです。だけを知りたい場合は一般的なガイドラインのためのアプリケーション作成skinnable.
うースのスキンwebアプリケーションは比較的容易です。うアプリケーションのためでも利用?
解決
皮うなレベルの抽象化(YALOA!).
場合は、 MVCデザインパターン しょうか多くの原則必要です。
のプレゼンテーション層(皮膚)のみではなく:
- ショーイ
- があった場合の行動をとら(クリックすると、テキスト入力ボックスなど)でトリガーの行動
- この通知を受け取らのモデルとコントローラーが変化するニーズ
通常のプログラムこの抽象化が行われるコードを接続するテキストボックスの方法及び物体に関して、コード表示の変更などに基づくプログラムのコマンド.
を追加したい場合にスのスキンを取る必要がありその能力のようにすることなく行うことが報のコードです。
チェック、例えばXUL、それはどのように行います。たくさん見つのスのスキン事業の利用をXMLで記述する様々な顔の皮膚で音楽の再生、組織図書館のためのMP3プレイヤーの肌、そしてそれを制御を実現できるはずであり、どのようなデータと方法で添付することにします。
でもハードですので、その実現のようなものですその他のレベルの抽象化んの人達に対してどう対処から、プログラムgotos、制御構造、機能、構造、クラスとオブジェは、JITコンパイラでコンパイルします。
の初期学習曲線な些細ないとまがないが、プロジェクトを実施しくないです。
-アダム
他のヒント
(s)は個別のCSSファイル内のすべてのあなたのスタイルをしてください。
離れた任意のインラインスタイリングからステイ
それは本当にあなたがアプリになりたいか「スキンを変更」に依存します。ユーザーは、色とイメージは彼らが自分自身のコンポーネントを作成しても/非表示のコンポーネントを削除するか、させるよりもはるかに容易になるだろう設定まかせます。
は、ほとんどの場合、あなたはおそらく、あなたのソースファイルでそれらをハードコーディングするのではなく、色とイメージをアップ機能リソースプロバイダのいくつかの種類を書いて逃げることができます。だから、この:
Color backgroundColor = Color.BLUE;
のようなものになるだろう
Color backgroundColor = ResourceManager.getColor("form.background");
次に、あなたがしなければならないすべてはあなたのResourceManagerクラスにマッピングを変更し、すべてのクライアントが一貫しています。あなたはリアルタイムでこれを実行したい場合は、ResourceManagerのマッピングのいずれかを変更すると、おそらくそのクライアントにイベントを送信し、何かが変更されたことを通知します。その後、クライアントは、彼らがしたい場合はそのコンポーネントを再描画することができます。
実装により異なるプラットフォームでは一般的なクロスプラットフォーム上の考慮事項
- で確立されて全体のレイアウトを視覚的要素できる"差." いったものが発生する可能性がある点で支援のための完全など、さまざまなレイアウトをスのスキン.
- の開発や文化を命名規則に資産とし(画像、HTMLの破片など) を構成する。
- デザイン、クリーンを"発見"既存の皮を追加します。例えば:Winamp等を使用しZIPファイル形式で保存すべての画像、カサカサしています。すべての皮膚のファイルの居住者に知られるフォルダにアプリケーションフォルダ.
- このスケーリング問題に関する全く同じ画面解像度
- いる第三者の皮膚のです。この影響を与えるデザイン。
- 建築には、デビュー-コントローラーのパターンに役立つ協ースのスキン.
これらはすべきことは山のように意識している。実装が異なりますとともに、脂肪においてはクライアント様の特徴。HTH.
基本原理として使用しているものCSSホームページです。
よっ指定のフォーマット(色/フォントのレイアウト[一])のコンテンツは、単に記述してどのようなコンテンツです。
このウェブなどのコンテンツのブログのページにおいてもマークの異なるセクションになっている:
- タイトル
- ブログ
- アーカイブペイン
など。
入場合もありますのseverl節などの"見出し"、"本"や"timestamp"です。
その後、他のいくスタイルシートを指定してそれぞれの性質のような要素は、サイズ、アライメント、色、背景、フォントなど。レンダリングしたときに、ページまたはsrawing/initialisingのcomponatnsおUIでご相談ください現在のスタイルシートを見られます。
そしてスのスキンは、実際の編集デザインが以前に比べて簡単になりました。で簡単に作成の異なるスタイルシートに戻の価値を熱してます。
編集:
必要となるポイントの一つ覚えの区別一般的なスタイルなどの授業CSS)により、特定のスタイルのようIDのCSS).ていきたい一意に識別するために一部の項目レイアウトなどを見出ししているので、単一識別可能なアイテムに応募できる独自のスタイルはその他の項目などのエントリブログをチェックするか、分野のデータベース)まで追いつきたいと思ったものと同じです。
これは、各プラットフォーム/テクノロジーごとに異なるのです。
ます。http:/は、WPFのために、ジョシュ・スミスは、構造スキンと呼ぶものを見てみましょう/www.codeproject.com/KB/WPF/podder2.aspxする
この比較的容易で、下記の手順をお試しください:
- ストリップすべてのスタイリングの世帯全体のウェブアプリケーションまたはwebサイト
- Cssを利用方法の変更をアプリ。
より多くの情報をご覧ください css zen garden のためのアイデア。
あなたはいけません。それは本当に正しい判断かどうか、少なくともあなた自身に尋ねる必要があります。
スキニングは、UI設計ガイドラインを破ります。それは「瓶」あなたの肌のアプリが動作し、彼らが使用しているすべての他のアプリとは全く異なって見えるため、ユーザー。コマンドのショートカットキーのようなものが一致しないだろうと、彼らは生産性を失うことになります。スクリーンリーダーがそれを理解難しく時間を持っていますので、それはアクセス少ない障害者になります。
、NOT皮膚への理由のトンがあります。あなたは自分のアプリケーションを視覚的に異なるようにしたい場合は、それが私の意見では貧しい理由です。あなたは、人々がこれまでに試用期間を超えて行くことを、あなたのアプリが使用するのがより困難となりにくいようになります。
すべてのことを言って、そのようなメディアプレーヤーやimersiveフルスクリーンのゲームのようなスキンが基本的に期待されているアプリのいくつかのクラスがあります。あなたのアプリはスキンが大幅に義務付けられているクラスではない場合でも、私は真剣にあなたの競争よりもあなたのアプリを改善するために他の方法を見つける検討する。
あなたが掘るしたいの深に応じて、「書式設定」のフレームワーク(例えばJavaのPLAF、ウェブのCSS)、または完全に切り離され、複数層アーキテクチャを使用することを選ぶことができます。
あなたがプラグイン可能なスキンを定義したい場合は、、あなたは非常に最初からそれを考慮する必要があります。プレゼンテーション層は、の何もないのビジネスロジックについて知っているが、それはAPIだとその逆ます。
ここの人々のほとんどは、その唯一のスキンオプションかのように、CSSを参照してくださいようです。 Windows Media Playerを(とWinampの、AFAIR)肌を定義するXMLだけでなく、画像(neccesary場合)を使用します。
XMLリファレンスフック、イベントなど、物事を見て、どのように反応するか処理します。私は、彼らがバックエンドを処理する方法についてはよく分からないんだけど、与えられた皮膚をロードすることは、単に彼らが行く必要がどこに置く、その後のイメージのロードを、適切なXMLファイルの場所として、本当にです。
XMLも(すなわちなどの新しいコンポーネント、変化成分の大きさを、作成します。)あなたが何ができるかを超えるはるかに制御することができます。
CSSと組み合わせたXMLは、デスクトップやWebアプリケーションのスキンエンジンに素晴らしい結果を与えることができる。