Android 使用ScrollView但按钮不显示页面底部

Android 使用ScrollView但按钮不显示页面底部,android,android-layout,android-scrollview,Android,Android Layout,Android Scrollview,我想用ScrollView创建一个页面。我想在页面底部设置按钮,我想xml的主根应该是LinearLayout,我使用的是ScrollView的内部LinearLayout。我写了这段代码,但按钮并没有显示底部。当我在另一个带有底部重力的线性布局中添加按钮时,程序同样不会在页面底部显示按钮。不管怎样,这是我的代码。如果可以,请使用最小嵌套布局对我的代码进行排序 file.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLay

我想用ScrollView创建一个页面。我想在页面底部设置按钮,我想xml的主根应该是LinearLayout,我使用的是ScrollView的内部LinearLayout。我写了这段代码,但按钮并没有显示底部。当我在另一个带有底部重力的线性布局中添加按钮时,程序同样不会在页面底部显示按钮。不管怎样,这是我的代码。如果可以,请使用最小嵌套布局对我的代码进行排序

file.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/linear1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#ffffff">
<ScrollView
    android:id="@+id/scroll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <RelativeLayout
        android:id="@+id/relative"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/buttonSend"
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="false"
        android:layout_alignParentBottom="true"
        android:background="@drawable/send_selector"/>
     <LinearLayout 
         android:id="@+id/linear2"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">   
    <TextView
        android:id="@+id/oldPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/oldPass"
        android:textColor="#000000"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="left"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dip"/>
    <EditText
        android:id="@+id/editOldPass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:password="true"
        android:gravity="left"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:textColor="#000000"
        android:textSize="15sp"
        android:layout_marginTop="5dp"
        android:background="@drawable/textbox"/>

    <TextView
        android:id="@+id/newPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/newPass"
        android:textColor="#000000"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="left"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dip"/>
    <EditText
        android:id="@+id/editNewPass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:password="true"
        android:gravity="left"
        android:layout_marginRight="5dip"
        android:layout_marginLeft="5dip"
        android:textColor="#000000"
        android:textSize="15sp"
        android:layout_marginTop="5dp"
        android:background="@drawable/textbox"/>

    <TextView
        android:id="@+id/duplicateNewPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/duplicateNewPass"
        android:textColor="#000000"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="left"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dip"/>
    <EditText
        android:id="@+id/editDuplicatNewPass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:password="true"
        android:gravity="left"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:textColor="#000000"
        android:textSize="15sp"
        android:layout_marginTop="5dp"/>
    </LinearLayout>
</RelativeLayout>
</ScrollView>
</LinearLayout>

需要注意的重要事项是添加了布局权重设置为“1”的
视图。如果比ScrollView短,它会使用所有的空白。但是,只有在
滚动视图
上设置了
android:fillViewport=“true”
时,才会这样做


//试试这个

谢谢,但我希望scrollView中的按钮不在scrollView之外。
<LinearLayout
    android:id="@+id/relative"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">


    <TextView
        android:id="@+id/oldPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="oldPass"
        android:textColor="#000000"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="left"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dip"        
        />

    <EditText
        android:id="@+id/editOldPass"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:password="true"
        android:gravity="left"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:textColor="#000000"
        android:textSize="15sp"
        android:layout_marginTop="5dp"
        />

    <TextView
        android:id="@+id/newPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="newPass"
        android:textColor="#000000"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="left"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dip"
        />
    <EditText
        android:id="@+id/editNewPass"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:password="true"
        android:gravity="left"
        android:layout_marginRight="5dip"
        android:layout_marginLeft="5dip"
        android:textColor="#000000"
        android:textSize="15sp"
        android:layout_marginTop="5dp"
        />

    <TextView
        android:id="@+id/duplicateNewPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="duplicateNewPass"
        android:textColor="#000000"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="left"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="5dip"
        />
    <EditText
        android:id="@+id/editDuplicatNewPass"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:password="true"
        android:gravity="left"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:textColor="#000000"
        android:textSize="15sp"
        android:layout_marginTop="5dp"
        />

    <View 
        android:layout_width="0dip"
        android:layout_height="0dip"
        android:layout_weight="1"
        />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical">

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/buttonSend"
            />

    </LinearLayout>  

</LinearLayout>
// try this
<?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:orientation="vertical"
    android:gravity="center"
    android:background="#ffffff">

    <ScrollView
        android:id="@+id/linear2"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:id="@+id/oldPass"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/oldPass"
                android:textColor="#000000"
                android:textSize="20sp"
                android:textStyle="bold"
                android:gravity="left"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="5dip"/>
            <EditText
                android:id="@+id/editOldPass"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:inputType="number"
                android:password="true"
                android:gravity="left"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:textColor="#000000"
                android:textSize="15sp"
                android:layout_marginTop="5dp"
                android:background="@drawable/textbox"/>

            <TextView
                android:id="@+id/newPass"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/newPass"
                android:textColor="#000000"
                android:textSize="20sp"
                android:textStyle="bold"
                android:gravity="left"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="5dip"/>
            <EditText
                android:id="@+id/editNewPass"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:inputType="number"
                android:password="true"
                android:gravity="left"
                android:layout_marginRight="5dip"
                android:layout_marginLeft="5dip"
                android:textColor="#000000"
                android:textSize="15sp"
                android:layout_marginTop="5dp"
                android:background="@drawable/textbox"/>

            <TextView
                android:id="@+id/duplicateNewPass"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/duplicateNewPass"
                android:textColor="#000000"
                android:textSize="20sp"
                android:textStyle="bold"
                android:gravity="left"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="5dip"/>
            <EditText
                android:id="@+id/editDuplicatNewPass"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:inputType="number"
                android:password="true"
                android:gravity="left"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:textColor="#000000"
                android:textSize="15sp"
                android:layout_marginTop="5dp"/>

        </LinearLayout>
    </ScrollView>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/buttonSend"
            android:background="@drawable/ic_launcher"/>

</LinearLayout>