我有一个垂直的LinearLayout(LL),高度设置为300像素,并有3个嵌套的LL。第1个和第3个使用android:layout_height="wrap_content"进行设置,而中间的一个使用android:layout_height="fill_parent"。令我沮丧的是,第3个LL被推出去了,第2个填充父布局直到底部。我该如何实现所需的效果,因为我希望可以调整外部容器的大小,中间部分会随之扩展和收缩以适应变化。
我有一个垂直的LinearLayout(LL),高度设置为300像素,并有3个嵌套的LL。第1个和第3个使用android:layout_height="wrap_content"进行设置,而中间的一个使用android:layout_height="fill_parent"。令我沮丧的是,第3个LL被推出去了,第2个填充父布局直到底部。我该如何实现所需的效果,因为我希望可以调整外部容器的大小,中间部分会随之扩展和收缩以适应变化。
原来(感谢Mark Murphy给出的答案),我所要做的就是将中间行设置为
layout_height="0px",并且设置layout_weight="1"
如果在沿轴线(水平或垂直)分配了所有wrap_content和固定大小的元素后,仍然有剩余空间,LinearLayout会按比例将剩余空间分配给那些指定权重的小部件。