画面上に 5 つのレイアウトを定義し、それらを 3x3 グリッドのように配置する必要があります。レイアウトが空です。
ある時点で、プログラムで 1 つのレイアウトにいくつかのビューを追加したいのですが、そのビューは割り当てられたレイアウトのサイズを超えてはなりません。言い換えれば、ビューを配置するレイアウトが必要であり、そのレイアウトを超えて拡大しないことが保証されます。重要な注意: 追加されたビューのサイズを手動で変更する権利はありません。最大サイズを制御することしかできません。
私は今そのようなレイアウトを持っています:
<RelativeLayout
android:id="@+id/pluginsLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/mainButtons"
android:layout_below="@+id/paramsLayout">
<RelativeLayout
android:id="@+id/capturingPluginLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="fill_horizontal|left"
android:layout_above="@+id/processingPluginLayout">
</RelativeLayout>
<RelativeLayout
android:id="@+id/processingPluginLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="fill_horizontal|left"
android:layout_above="@+id/filterPluginLayout">
</RelativeLayout>
<RelativeLayout
android:id="@+id/filterPluginLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="fill_horizontal|left|bottom"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true">
</RelativeLayout>
<RelativeLayout
android:id="@+id/exportPluginLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="fill_horizontal|right"
android:layout_above="@+id/viewfinderPluginLayout">
</RelativeLayout>
<RelativeLayout
android:id="@+id/viewfinderPluginLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="fill_horizontal|bottom|right"
android:layout_toLeftOf="@+id/filterPluginLayout"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true">
</RelativeLayout>
</RelativeLayout>
そして、コードに新しいビューを追加しました:
public void addVFPluginView(View view)
{
((RelativeLayout)MainScreen.thiz.findViewById(R.id.viewfinderPluginLayout)).addView(view);
}
私はこの動作のようになることを期待しています:
しかし、私はこれだけを取得しました。ビューは親レイアウト全体を埋めます:
注:API8を使用しています(GridLayoutはありません)