Перемещение изображения в центр макета - PullRequest
0 голосов
/ 26 октября 2018

Интересно, как переместить linearLayout2 в центр linearLayout1? ImageView должен быть в центре

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        android:id="@+id/linearLayout1"
        android:background="@android:color/transparent"
        android:layout_marginTop="15dp"
        android:layout_marginBottom="15dp"
        android:layout_width="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageView
            android:layout_gravity="center"
            android:background="@drawable/circle"
            android:layout_marginTop="75dp"
            android:src="@mipmap/ic_launcher_round"
            android:id="@+id/appsLogo"
            android:layout_width="120dp"
            android:layout_height="120dp"/>

    <LinearLayout android:layout_width="250dp" android:layout_height="220dp"
                  android:id="@+id/linearLayout2"
                  android:layout_below="@+id/appsLogo"
                  android:background="@color/white"
                  android:orientation="vertical">

        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                  android:layout_gravity="center|bottom"
                  android:textColor="@color/colorPrimaryDark"
                  android:layout_marginTop="10dp"
                  android:textSize="25dp"
                  android:text="Choose an option"/>

        <Button android:layout_width="150dp" android:layout_height="50dp"
                android:layout_gravity="center"
                android:layout_marginTop="20dp"
                android:textColor="@color/white"
                android:id="@+id/cameraBtn"
                android:background="@color/lightseagreen"
                android:text="Camera"/>

        <Button android:layout_width="150dp" android:layout_height="50dp"
                android:layout_marginTop="20dp"
                android:layout_gravity="center"
                android:textColor="@color/white"
                android:id="@+id/galleryBtn"
                android:background="@color/darkgrey"
                android:text="Gallery"/>
    </LinearLayout>
</LinearLayout>

Токовый выход

enter image description here

linearLayout2 должен двигаться вверх, пока не достигнет центра imageView.

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Добавьте android:layout_gravity="center" к вашей линейной схеме 2. Объясняется разница между android:layout_gravity="center" и android:gravity="center":

android:layout_gravity="center" Это установит макет в центр его родительского макета.

android:gravity="center" Это установит дочернее содержимое этого макета в его центре.

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

0 голосов
/ 26 октября 2018

Попробуйте, используя RelativeLayout

<?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"
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="15dp"
    android:layout_marginBottom="15dp"
    android:background="@android:color/transparent"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/appsLogo"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_gravity="center"
        android:layout_marginTop="75dp"
        android:layout_centerInParent="true"
        android:background="@drawable/ic_marker"
        android:src="@mipmap/ic_launcher_round" />

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_centerInParent="true"
        android:layout_below="@id/appsLogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center|bottom"
            android:layout_marginTop="10dp"
            android:text="Choose an option"
            android:textColor="@color/colorPrimaryDark"
            android:textSize="25dp" />

        <Button
            android:id="@+id/cameraBtn"
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="Camera" />

        <Button
            android:id="@+id/galleryBtn"
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="Gallery" />
    </LinearLayout>


</RelativeLayout>

UPDATE

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="15dp"
    android:layout_marginBottom="15dp"
    android:background="@android:color/transparent">


    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="80dp"
        android:paddingStart="20dp"
        android:paddingEnd="20dp"
        android:background="@color/colorAccent"
        android:layout_gravity="center"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center|bottom"
            android:layout_marginTop="10dp"
            android:text="Choose an option"
            android:textColor="@color/colorPrimaryDark"
            android:textSize="25dp" />

        <Button
            android:id="@+id/cameraBtn"
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="Camera" />

        <Button
            android:id="@+id/galleryBtn"
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="Gallery" />
    </LinearLayout>

    <ImageView
        android:id="@id/linearLayout2"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:layout_marginTop="75dp"
        android:background="@drawable/ic_marker"
        android:src="@mipmap/ic_launcher_round"
        app:layout_anchor="@id/linearLayout2"
        app:layout_anchorGravity="top|center" />


</android.support.design.widget.CoordinatorLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...