Как выровнять linearlayout в нижней части relativelayout внутри координатораlayout

У меня есть RelativeLayout и LinearLayout внутри CoordinatorLayout. Я хочу выровнять LinearLayout в нижней части RelativeLayout. но layoutbelow здесь не работает. Я не знаю, как это реализовать.

это мой код

<android.support.design.widget.CoordinatorLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <RelativeLayout
                android:id="@+id/top"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/artboard_signup"
                    android:scaleType="fitXY"
                    android:visibility=""
                    />

            </RelativeLayout>



            <LinearLayout
                android:id="@+id/bottom"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="170dp">

                <LinearLayout
                    android:layout_weight="7"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:paddingTop="15dp"
                        android:paddingLeft="10dp"
                        android:paddingRight="10dp"
                        android:text="Top Bootable Antivirus For Your PC?"/>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="8 hours ago"
                        android:paddingLeft="10dp"/>

                </LinearLayout>
        </LinearLayout>
    </android.support.design.widget.CoordinatorLayout>

Я хочу, чтобы LinearLayout с идентификатором bottom находился внизу RelativeLayout с идентификатором вверху.

Могу ли я добиться этого?

Добавьте линейный макет с вертикальной ориентацией, а затем относительный и линейный внутри него, он автоматически будет располагаться друг под другом.

Ümañg ßürmån 31.10.2018 14:22

Ваш linearlayout уже внизу relativelayout?

Cagri Yalcin 31.10.2018 14:32

@ Ümañgßürmån, твоя идея сработала, я так не думал. Благодарность

Siva perumal 31.10.2018 14:37

@Sivaperumal Я опубликовал решение, буду рад, если вы его примете. :)

Ümañg ßürmån 31.10.2018 20:22
0
4
78
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

попробуйте добавить android:layout_gravity="bottom" после android:id="@+id/bottom"

Вы должны указать такой небольшой ответ в качестве комментария.

Ümañg ßürmån 31.10.2018 14:26

@ Ümañgßürmån Я не согласен. Если ответ достаточен и достаточно ясен, он не должен быть длинным. Не то чтобы я имел представление о том, является ли это реальным ответом.

Kilazur 31.10.2018 14:46

@Kilazur Спасибо за ваше мнение.

Ümañg ßürmån 31.10.2018 20:23

Используйте RelativeLayout вместо CoordinateLayout, а затем добавьте строку "android: layout_alignParentBottom =" true "" внутри LearLayout.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:id="@+id/top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="150dp"
            app:srcCompat="@drawable/ic_call_black_24dp"
            android:scaleType="fitXY"
            android:visibility="visible"
            />

    </RelativeLayout>



    <LinearLayout
        android:id="@+id/bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="170dp"
        android:layout_alignParentBottom="true">

        <LinearLayout
            android:layout_weight="7"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingTop="15dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="Top Bootable Antivirus For Your PC?"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8 hours ago"
                android:paddingLeft="10dp"/>

        </LinearLayout>
    </LinearLayout>

Может быть, это сработает. Попытайся.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<RelativeLayout
    android:id="@+id/top"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:scaleType="fitXY"
        android:src="@drawable/artboard_signup"
        android:visibility="" />

    <LinearLayout
        android:id="@+id/bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="170dp"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="7"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:paddingTop="15dp"
                android:paddingRight="10dp"
                android:text="Top Bootable Antivirus For Your PC?" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:text="8 hours ago" />

        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

Ответ принят как подходящий

Решение:

Просто добавьте <LinearLayout> в ваш <CoordinatorLayout>, как показано ниже:

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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

        <RelativeLayout
            android:id="@+id/top"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/artboard_signup"
                android:scaleType="fitXY"
                android:visibility=""
                />

        </RelativeLayout>



        <LinearLayout
            android:id="@+id/bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginTop="170dp">

            <LinearLayout
                android:layout_weight="7"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingTop="15dp"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:text="Top Bootable Antivirus For Your PC?"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="8 hours ago"
                    android:paddingLeft="10dp"/>

            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</android.support.design.widget.CoordinatorLayout>

Надеюсь, что это работает.

Другие вопросы по теме