Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:线性布局中奇怪的权重反转_Android_Android Linearlayout_Android View - Fatal编程技术网

Android:线性布局中奇怪的权重反转

Android:线性布局中奇怪的权重反转,android,android-linearlayout,android-view,Android,Android Linearlayout,Android View,这是我正在研究的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" > &l

这是我正在研究的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>

由于我已将ScrollView设置为
layout\u weight=“2”
并将LinearLayout(子项)设置为
layout\u weight=“1”
,因此我预计ScrollView将使用两倍于LinearLayout的可用空间。但我得到了相反的结果。ScrollView小于LinearLayout。 然而,如果我使用
layout\u weight=“2”
设置ScrollView
layout\u weight=“1”
和LinearLayout,则ScrollView大于LinearLayou


这是怎么可能的呢?

因为您使用的是
匹配父项
作为
布局高度
。当总和大于
线性布局时,权重用于分配剩余的空白空间或带走空间。将您的身高设置为0dip,它会起作用

i、 e。, 为
滚动视图
和内部
线性布局
设置
layout\u height=“0dip”

参考资料: