1

別のレイアウトの一部として使用したいレイアウトファイルがあるとしましょう。どうすればよいですか?

たとえば、にテーブルレイアウトがあります/res/layout/table.xml。そのテーブルをの相対レイアウト内のコンポーネントとして使用したいと思います/res/layout/relative_stuff.xml。私の相対的なレイアウトは、テーブルと2つのボタンを含むことだとしましょう。

単純なケースは、relative_stuff.xmlファイル内で完全に組み合わせを行うことです。しかし、より良いケースは、プログラムでテーブルxmlを設定する機能です。現実には、多くの異なるテーブルから選択したいのですが、今のところ、:/res/layout/table_1.xmlと。に2つのテーブルがあり/res/layout/table_2.xmlます。

つまり、基本的に私のメインのレイアウトファイルは/res/layout/relative_stuff.xmlです。そして、その中に2つのテーブルのいずれかをプログラムで設定したいと思います。

4

2 に答える 2

5

includeタグを使用してレイアウトを再利用します。

たとえば、例のlayout/table.xmlを使用します。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width=”match_parent”
    android:layout_height=”match_parent”&gt;

    <include layout="@layout/table"/>

</LinearLayout>

XMLで実行したくない場合は、LayoutInflaterを使用してXMLを拡張し、使用しているコンテナーに追加できます。

LayoutInflater mLayoutInflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
View tableLayout = mLayoutInflater.inflate(R.layout.table, (ViewGroup) findViewById(R.layout.root_id));
rootLayout.addView(tableLayout);
于 2013-03-14T19:56:51.727 に答える
0

Layout Inflator Serviceを使用して、複数のアクティビティを追加できます。

于 2013-03-14T20:04:57.497 に答える