这是我正在处理的XML布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:orientation="vertical" >

    <ScrollView
        android:layout_weight="2"
        android:id="@+id/scrollConfirm"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

  </ScrollView>

  <LinearLayout
      android:layout_marginTop="20px"
      android:layout_weight="1"
      android:id="@+id/imageNumpad"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
        <ImageView android:src="@drawable/myicon"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:background="#FFFFFF"
        />
   </LinearLayout>
</LinearLayout>

由于我已经用layout_weight="2"设置了scrollview,用layout_weight="1"设置了linearlayout(child),所以我希望scrollview将使用linearlayout的两倍可用空间。但我得到了相反的结果。滚动视图小于LinearLayout。
如果我设置了scrollviewlayout_weight="1"和linearlayoutlayout_weight="2",则scrollview大于linearlayou。
这怎么可能??

最佳答案

因为您使用match_parent作为layout_height,所以权重是相反的。当总和大于LinearLayout时,权重用于分配剩余的空白空间或带走空间。把你的高度调到0度,它会起作用的。
即。,
layout_height = "0dip"和内部ScrollView设置LinearLayout
参考:
The use of layout_weight with Android layouts

08-27 20:11
查看更多