それをしてもいいですか?
もちろん!ただし、その環境では「完全な Swing 新人」のような問題ではないのと同様に、「完全な Android 新人」のような問題とは言いません。
それ、どうやったら出来るの?
いくつかの可能なアプローチがあります。最も簡単な解決策は、UI 全体を定義するレイアウト リソース ファイルを定義するFrameLayout
ことです。次に、実行時にそのレイアウトを使用するときに、その中に何かを入れて「空白を埋める」ことになりますFrameLayout
。
各「画面/ビュー」を にしActivity
たい場合は、前述のレイアウト ファイルを で使用し、setContentView()
「一部の空白」が何であれ、手動で膨張 (または Java で直接インスタンス化) します。膨らませたもので「空白を埋める」ように要求addView()
します。FrameLayout
必要に応じて、ほとんどのロジックを基本クラスにgimmeTheBlanksPlease()
まとめて、FrameLayout
.
各「画面/ビュー」を にしFragment
たい場合は、前述のレイアウト ファイルを で使用し、onCreateView()
「一部の空白」が何であれ、手動で膨張 (または Java で直接インスタンス化) します。FrameLayout
繰り返しますが、そのようなものをviaに注ぐとaddView()
、このコードのほとんどは抽象基底クラスで実装できます。
より複雑なソリューション (例: custom ViewGroup
) もあります。
唯一の簡単な解決策は、「この UI フローの 90% の共通部分」が 1 つのレイアウト ファイルで定義できる場合、<include>
タグを使用してレイアウトを構成することです。「画面/ビュー」ごとのレイアウトに含まれ、実行時に使用される、共通の要素を持つ 1 つの共通のレイアウトがあります。繰り返しになりますが、おそらく抽象的なベースを持っているActivity
かFragment
、共通のものについて知っているでしょう。ただし、XML と配置がどのように機能したかという理由だけで、"90%" が大量のレイアウト ファイルに分割されてしまうと、これは面倒です。