1. ホーム
  2. android

Androidでレイアウトをプログラム的に組み込むには?

2023-12-16 13:56:03

質問

XML タグを使用する代わりに、プログラムによってレイアウトを含める方法を探しています。 include のようなXMLタグを使用する代わりに、プログラムでレイアウトを含める方法を探しています。

  <include layout="@layout/message"  
           android:layout_width="match_parent" 
           android:layout_height="match_parent" 
           android:layout_weight="0.75"/>

このパラメータを変更する必要があります " レイアウト="@layout/message "プログラム的にお願いします。

これを行うための任意のアイデア?

どのように解決するのですか?

を使用します。 ViewStub の代わりに include :

<ViewStub
    android:id="@+id/layout_stub"
    android:inflatedId="@+id/message_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="0.75" />

次に、コード内でスタブへの参照を取得し、そのレイアウトリソースを設定し、それを膨らませます。

ViewStub stub = (ViewStub) findViewById(R.id.layout_stub);
stub.setLayoutResource(R.layout.whatever_layout_you_want);
View inflated = stub.inflate();