如何将Android按钮视图保留在屏幕底部?

时间:2015-04-14 17:42:25

标签: android android-activity view

我有一个主要包含2个组件的活动:滚动视图和按钮。 我想将按钮放在屏幕的底部,固定。

我尝试了很多东西,但我无法将按钮位置固定在屏幕按钮上,因为随着滚动视图内容的增加,按钮被推到活动屏幕之外。

我希望实现这样的目标: enter image description here

谁能告诉我如何实现这一目标?

我的XML文件很干净(所有自定义视图都是以编程方式编写的,无法共享!):

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/scrollView"
    android:layout_gravity="center_horizontal">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editableViewGroup"></LinearLayout>

</ScrollView>

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Save Changes"
    android:id="@+id/customButton" />

4 个答案:

答案 0 :(得分:2)

使用LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:fillViewport="true">

        <!-- ... -->

    </ScrollView>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Save Changes"/>

</LinearLayout>

答案 1 :(得分:0)

使用RelativeLayout托管您的观看次数,并将Button固定在版面底部。

答案 2 :(得分:0)

如果使用相对布局,请尝试使用

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.testproject.MainActivity" >

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true" 
    android:layout_above="@+id/button1">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>
</ScrollView>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:text="Button" />

</RelativeLayout>

答案 3 :(得分:0)

你可以像这样使用LinearLayout或relativeLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/scrollView"
    android:layout_gravity="center_horizontal">

        <LinearLayout
           android:orientation="vertical"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:id="@+id/editableViewGroup"></LinearLayout>

   </ScrollView>

   <Button
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="Save Changes"
      android:id="@+id/customButton" />

</LinearLayout>