【发布时间】:2012-10-26 07:57:40
【问题描述】:
我必须在屏幕上定义 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)
【问题讨论】:
标签: android android-layout android-relativelayout