我正在尝试创建一个布局,其中我有一个固定大小的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>