布局权重在ScrollView中不起作用

我想为ScrollViewLinearLayout多个项目分配布局权重。 但是, ScrollView忽略LinearLayout weightSum

我的目标是用2,1,1的权重(总共4)来分割布局,但是这在ScrollView内部不能正常工作。

我怎样才能解决这个布局问题?

main.xml中

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scrollView1" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="4"> <LinearLayout android:id="@+id/logo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="2" android:background="#FFFFFF" /> <LinearLayout android:id="@+id/logo1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1" android:background="#000000" /> <LinearLayout android:id="@+id/logobutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" android:background="#4B4B4B" /> </LinearLayout> </ScrollView> 

Solutions Collecting From Web of "布局权重在ScrollView中不起作用"

我以前遇到过这个问题。 只需在你的滚动视图中使用android:fillViewport="true" ,它将填满屏幕。

  <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scrollView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true" > 

这不会像你所做的那样工作。 ScrollView的子视图应该设置为wrap_content 。 如果将其设置为fill_parent ,则将填充ScrollView的区域,并且永不滚动,因为它不会比ScrollView大 。

layout_weight的想法是按比例填充一个特定的区域。

你应该把所有的子LinearLayouts layout_height设置为wrap_content或者一个特定的大小(在dp中),将LinearLayout的父级layout_heightwrap_content

如上所说你需要删除额外的

的xmlns:机器人= “http://schemas.android.com/apk/res/android&#x201D;

如果它不是布局的根(第一个)元素。