布局重力底部未应用

时间:2018-07-12 12:41:22

标签: android android-layout

以下是我的xml文件,其中我希望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:orientation="vertical">

<include layout="@layout/toolbar_layout" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerViewCart"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"/>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom" //----> not working
    android:orientation="horizontal">

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/total"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textViewTotalPrice"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="$23.00" />
    </LinearLayout>

    <Button
        android:id="@+id/buttonCheckout"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginEnd="20dp"
        android:layout_weight="1"
        android:background="@color/colorPrimary"
        android:drawableEnd="@drawable/ic_arrow_forward"
        android:paddingEnd="15dp"
        android:text="@string/checkout"
        android:textColor="@color/white" />
</LinearLayout>

这就是我想要的方式。

enter image description here

3 个答案:

答案 0 :(得分:2)

尝试一下

   <?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">

        <include layout="@layout/toolbar_layout" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerViewCart"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
        android:layout_weight="1" />

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

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="total"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/textViewTotalPrice"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="$23.00" />
        </LinearLayout>

        <Button
            android:id="@+id/buttonCheckout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginRight="20dp"
            android:background="@color/colorPrimary"
            android:drawableEnd="@drawable/ic_arrow_forward"
            android:paddingEnd="15dp"
            android:text="@string/checkout"
            android:textColor="@color/white" />


    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

在RecyclerView和LinearLayout之间放置空间布局

<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>

或使用RelativeLayout代替您的主要LinearLayout

答案 2 :(得分:0)

尝试此代码..并更改

<?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">

<include layout="@layout/toolbar_layout" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerViewCart"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"/>
<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">

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    android:layout_weight="1"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="tees"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textViewTotalPrice"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="$23.00" />
</LinearLayout>

<Button
    android:id="@+id/buttonCheckout"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginEnd="20dp"
    android:layout_weight="1"
    android:background="@color/colorPrimary"
    android:paddingEnd="15dp"
    android:text="Hello" />
 </LinearLayout>
</RelativeLayout>

</LinearLayout>