Android 调整线性布局的位置

Android 调整线性布局的位置,android,android-layout,Android,Android Layout,这是我布局的结果 我的问题是,我不希望“新资产”(单击按钮new asset时显示)和“old asset”之间的距离太长,“old asset”必须位于按钮下方,“new asset”应位于按钮上方 以下是我的xml代码: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@

这是我布局的结果

我的问题是,我不希望“新资产”(单击按钮new asset时显示)和“old asset”之间的距离太长,“old asset”必须位于按钮下方,“new asset”应位于按钮上方

以下是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >


    <LinearLayout
        android:id="@+id/contain"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.01"
        android:orientation="vertical"
        android:padding="10dp" >

        <TextView
            android:id="@+id/a"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Build a list of significant assets for the organization"
            android:textSize="14sp"
            android:textStyle="bold" >
        </TextView>

         <Button
            android:id="@+id/addasset"
            style="@style/btnStyleBlue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text=" + add new asset" />

         <LinearLayout
                android:id="@+id/newa"
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:layout_weight="0.01"
                android:orientation="vertical"
                android:padding="10dp" >

             </LinearLayout>

         <LinearLayout
                android:id="@+id/old"
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:layout_weight="0.01"
                android:layout_gravity="top"
                android:orientation="vertical"
                android:padding="10dp" >

             </LinearLayout>



</LinearLayout>

</ScrollView>

将线性布局的xml代码更改为

<LinearLayout
        android:id="@+id/newa"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="10dp" >

</LinearLayout>

<LinearLayout
        android:id="@+id/old"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:orientation="vertical"
        android:padding="10dp" >

</LinearLayout>

首先,我认为你误解了重量。父
布局
应该有一个
权重和
,然后给子
视图
权重
,使其等于一些视图,以便根据需要分配它们占用的空间量

其次,在每个
LinearLayout
中都有
android:padding=“10dp”
,因此在每个
LinearLayout
之间实际上会有20dp
padding
。如果你不想要那个空间,就把它们拿走

在一个看似空的
LinearLayout
中有
android:layout\u height=“match\u parent”
。看起来它可以被移除

我认为重量可能是给你带来最大麻烦的原因。去掉那个

但是,我想我会使用一个
相对布局
,如果您愿意,您可以仍然使用两个
线性布局
,并在下方指定
android:layout_=“@+id/contain”
将第二个
线性布局
放在第一个
的下方

还要注意的是,不推荐使用
fill\u parent
,您应该使用
match\u parent

<LinearLayout
        android:id="@+id/newa"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="10dp" >

</LinearLayout>

<LinearLayout
        android:id="@+id/old"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:orientation="vertical"
        android:padding="10dp" >

</LinearLayout>