如何将按钮移动到屏幕底部?

时间:2017-10-07 02:47:21

标签: java android xml android-layout

在我最近更新Android Studio之前,我将按钮对齐到屏幕底部。每当我尝试在相对布局中使用android:layout:_alignParentBottom时,布局参数现在显然不存在。

左边是它以前的样子,右边是它现在的样子enter image description here

主要活动XML代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#FFFFFF"
    android:orientation="vertical"
    tools:context="techercise.onerepmaxcalculator.MainActivity">

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/bannerAd"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        ads:adSize="BANNER"
        ads:adUnitId="@+id/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:fontFamily="sans-serif-smallcaps"
            android:gravity="center"
            android:text="@string/Formulas"
            android:textColor="#EEFF41"
            android:textSize="48sp" />

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_below="@+id/textView3"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            android:background="@android:color/darker_gray"/>

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView3"
            android:layout_centerHorizontal="true"
            android:layout_margin="24dp"
            android:textAlignment="center"
            android:textColor="#00C853"
            android:textSize="44sp" />

    </RelativeLayout>

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

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:fontFamily="sans-serif-smallcaps"
                android:gravity="center_horizontal"
                android:text="@string/weight"
                android:textColor="#000000"
                android:textSize="24sp" />

            <EditText
                android:id="@+id/editText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:ems="2"
                android:inputType="number"
                android:textColor="#000000"
                android:textSize="24sp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:fontFamily="sans-serif-smallcaps"
                android:gravity="center_horizontal"
                android:text="@string/reps"
                android:textColor="#000000"
                android:textSize="24sp" />

            <EditText
                android:id="@+id/editText2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:ems="2"
                android:inputType="number"
                android:textColor="#000000"
                android:textSize="24sp" />

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        style="?android:attr/buttonBarStyle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <Button
            android:id="@+id/button"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="buttonSubmit"
            android:text="@string/submitBtnText"
            android:textColor="#00C853"
            android:textSize="16sp" />

        <Button
            android:id="@+id/button2"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="clearSubmit"
            android:text="@string/clearBtnText"
            android:textColor="#F44336"
            android:textSize="16sp" />

    </LinearLayout>

</LinearLayout>

3 个答案:

答案 0 :(得分:0)

如果您没有可以滚动的视图层次结构,请使用RelativeLayout而不是ScrollView

  

ScrollView是一个FrameLayout,意味着你应该放置一个孩子   它包含要滚动的全部内容;

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:orientation="vertical"
        tools:context="techercise.onerepmaxcalculator.MainActivity">

        <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/bannerAd"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal"
            ads:adSize="BANNER"
            ads:adUnitId="@+id/banner_ad_unit_id"></com.google.android.gms.ads.AdView>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:orientation="vertical">

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:fontFamily="sans-serif-smallcaps"
                android:gravity="center"
                android:text="@string/Formulas"
                android:textColor="#EEFF41"
                android:textSize="48sp" />

            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_below="@+id/textView3"
                android:layout_marginBottom="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:background="@android:color/darker_gray" />

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textView3"
                android:layout_centerHorizontal="true"
                android:layout_margin="24dp"
                android:textAlignment="center"
                android:textColor="#00C853"
                android:textSize="44sp" />

        </RelativeLayout>

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

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/textView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:fontFamily="sans-serif-smallcaps"
                    android:gravity="center_horizontal"
                    android:text="@string/weight"
                    android:textColor="#000000"
                    android:textSize="24sp" />

                <EditText
                    android:id="@+id/editText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="16dp"
                    android:ems="2"
                    android:inputType="number"
                    android:textColor="#000000"
                    android:textSize="24sp" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:fontFamily="sans-serif-smallcaps"
                    android:gravity="center_horizontal"
                    android:text="@string/reps"
                    android:textColor="#000000"
                    android:textSize="24sp" />

                <EditText
                    android:id="@+id/editText2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginTop="16dp"
                    android:ems="2"
                    android:inputType="number"
                    android:textColor="#000000"
                    android:textSize="24sp" />

            </LinearLayout>

        </LinearLayout>

    </LinearLayout>


    <LinearLayout
        style="?android:attr/buttonBarStyle"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/button"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="buttonSubmit"
            android:text="@string/submitBtnText"
            android:textColor="#00C853"
            android:textSize="16sp" />

        <Button
            android:id="@+id/button2"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="clearSubmit"
            android:text="@string/clearBtnText"
            android:textColor="#F44336"
            android:textSize="16sp" />

    </LinearLayout>
</RelativeLayout>

注意: - 要在键盘出现时移动布局,请将以下属性添加到AndroidManifest.xml文件中的活动:

android:windowSoftInputMode="adjustResize"

答案 1 :(得分:0)

你可以这样布局:

  • 整体的RelativeLayout
  • ScrollView为您的内容布局
  • (LinearLayout,RelativeLayout ...)位于底部按钮

you can layout like that

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

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="10dp"
        android:background="@color/COLOR_BG_MENU_PARENT_DEFAULT"
        android:orientation="vertical" />
</ScrollView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:gravity="center"
    android:orientation="horizontal"
    android:id="@+id/llButton"
    android:background="@color/COLOR_CHART_BLUE"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="60dp"
        android:text="Button 02" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="Button 01" />
</LinearLayout>

答案 2 :(得分:0)

这是正确的代码:我完全删除了ScrollView。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">

<com.google.android.gms.ads.AdView
    android:id="@+id/bannerAd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-8808093751237190/1348767274">
</com.google.android.gms.ads.AdView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/bannerAd"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:fontFamily="sans-serif-smallcaps"
            android:gravity="center"
            android:text="@string/Formulas"
            android:textColor="#EEFF41"
            android:textSize="48sp"/>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_below="@+id/textView3"
            android:layout_marginBottom="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            android:background="@android:color/darker_gray">
        </View>

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView3"
            android:layout_centerHorizontal="true"
            android:layout_margin="24dp"
            android:textAlignment="center"
            android:textColor="#00C853"
            android:textSize="44sp"/>
    </RelativeLayout>

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

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:fontFamily="sans-serif-smallcaps"
                android:gravity="center_horizontal"
                android:text="@string/weight"
                android:textColor="#000000"
                android:textSize="24sp"/>

            <EditText
                android:id="@+id/editText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:ems="2"
                android:inputType="number"
                android:textColor="#000000"
                android:textSize="24sp"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:fontFamily="sans-serif-smallcaps"
                android:gravity="center_horizontal"
                android:text="@string/reps"
                android:textColor="#000000"
                android:textSize="24sp"/>

            <EditText
                android:id="@+id/editText2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:ems="2"
                android:inputType="number"
                android:textColor="#000000"
                android:textSize="24sp"/>
        </LinearLayout>
    </LinearLayout>
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal">
            <Button
                android:id="@+id/button"
                style="?android:attr/buttonBarButtonStyle"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="buttonSubmit"
                android:text="@string/submitBtnText"
                android:textColor="#00C853"
                android:textSize="16sp"/>
            <Button
                android:id="@+id/button2"
                style="?android:attr/buttonBarButtonStyle"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="clearSubmit"
                android:text="@string/clearBtnText"
                android:textColor="#F44336"
                android:textSize="16sp"/>
        </LinearLayout>
    </RelativeLayout>
</LinearLayout>