Layout_weight无法与ScrollView正确分发

时间:2012-07-20 19:24:28

标签: android android-layout

我正在尝试创建一个布局,其中我有一个固定大小的ScrollView隐藏在屏幕的右侧,然后LinearLayout填充剩余的屏幕空间。像这样:

<---------------------------LinearLayout---------------------------><----ScrollView---->

在ScrollView中是我动态添加TextViews的另一个LinearLayout。这是我现在拥有的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/chart"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="#FF0000"
    android:orientation="horizontal" >
</LinearLayout>

<ScrollView
    android:layout_width="260dp"
    android:layout_height="match_parent"
    android:background="#0000FF"
    android:scrollbars="vertical" >

    <LinearLayout
        android:id="@+id/meterList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#00FF00"
        android:orientation="vertical" >
    </LinearLayout>

</ScrollView>

</LinearLayout>

我读到将宽度设置为0dp并且权重设置为1应该让它填满屏幕的剩余部分,而是在ScrollView占据屏幕的90%时被压扁。有点奇怪的是,我在ScrollView中的LinearLayout只占用了其中一半的空间。由于我对它进行了颜色编码,所以它的外观如下:

<--Red--><----------------Green----------------><----------------Blue---------------->

动态添加视图后,所有蓝色背景都应该像这样覆盖:

<------------------------------Red------------------------------><-------Green------->

这些都没有任何意义......

编辑:由于现在这似乎很重要,我应该提到这个布局被我的片段夸大了。然后,这个片段附加到:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/clearPrefs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="DEBUG" >
        </Button>
    </LinearLayout>

    <fragment
        android:id="@+id/fragment_chart"
        android:name="...GraphFragment"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

</LinearLayout>

0 个答案:

没有答案