1

私は、日付を指定するとそれを表示するDateView(を拡張する)カスタム ビューを持っています。LinearLayout問題は画面のサイズにあります。小さい画面、通常の画面、大きい画面、および特大DateViewの画面で日付を異なる方法で表示する必要があります。いつでもandをインスタンス化できるため、aの拡張は便利です。DateViewLinearLayoutDateViewaddChild

何か案は?

4

1 に答える 1

0

わお!私が尋ねたこの古くからの質問に遭遇しました。とにかく、これが私が問題を解決した方法です。

この問題に対処するには 2 つの方法があります (私が好きになりました)。

  1. 複数の画面サイズ用に複数のレイアウトを作成します。実行時に、FrameLayout (のようなもの) である DateView にレイアウトを読み込みます。レイアウトからビューを見つけて、コンテンツを入力します。
  2. Java Delegation パターンを使用する: 複数の画面サイズ用に複数のレイアウトを作成します。includeクライアント XML レイアウトのパターン。クライアント クラスでinclude、deded レイアウトをロードし、コンテンツ変更メソッドを公開する DateViewManager クラスに渡します。

私は、目標を達成するためのクリーンでシンプルな方法である 2 番目の方法を好むようになりました。それは、Android のリソース管理機能を使用して、複数の画面タイプを提供することです。

于 2012-04-30T03:10:21.170 に答える