我必须在屏幕上定义 5 个布局并将它们放置为 3x3 网格。布局为空。
在某些时候,我希望以编程方式在一个布局上添加一些视图,并且该视图不能超过分配的布局大小。换句话说,我希望有一个可以放置任何视图的布局,并且可以保证它不会在该布局上增长。重要提示:我无权手动更改添加视图的大小,我只能控制其最大大小。
我现在有这样的布局:
<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)