Android View への動的コンポーネント追加
Android アプリケーション開発において、既存の View コンテナ内に動的に UI コンポーネントを追加する方法は頻繁に使用されます。この手法は、実行時にインターフェースを変更する必要がある場合や、条件に応じて異なる要素を表示する場合に特に有用です。
実装方法
まず、レイアウト XML ファイル内にコンテナとなる ViewGroup を定義します。以下の例では Vertical 方向の LinearLayout を使用しています:
<LinearLayout
android:id="@+id/content_host"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
次に、アクティビティまたはフラグメントのコード内で、このコンテナを取得し、プログラムによって新しいビュー要素を追加します。以下はボタンを動的に追加する例です:
LinearLayout hostLayout = findViewById(R.id.content_host);
Button dynamicButton = new Button(this);
dynamicButton.setText("実行");
hostLayout.addView(dynamicButton);
この基本的なパターンを応用することで、テキストビュー、イメージビュー、カスタムビューなど、さまざまな UI コンポーネントを実行時に追加できます。各コンポーネントのレイアウトパラメータは、LayoutParams オブジェクトを使用して制御できます。