виджеты застревают и перекрываются при повороте экрана в андроиде - PullRequest
0 голосов
/ 21 сентября 2019

Это для моего любопытства к обучению, так как это мой простой мини-проект. ЭКРАН ВХОДА

Однако макет выглядит просто отлично это в портретном режиме, но когда я поворачиваю экран,показывает, как this

Просто хочу, чтобы все виджеты были идеально размещены в соответствии с режимом экрана.

Я предполагаю, что это как-то связано с основным XML-файлом дляверстка и дизайн виджетов.Я переопределил метод onConfigurationChanged, но он не сработал. Я подумал, что лучше опубликовать ссылку на код, чем публиковать ее здесь, поскольку в ней слишком много строк

Вот проект

1 Ответ

0 голосов
/ 22 сентября 2019

Я обновил ваш xml-файл

    <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"
    android:background="@color/colorPrimary">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="48dp"
        app:srcCompat="@drawable/ic_logo"
        android:scaleType="centerInside"
        />

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="45sp"
        android:layout_below="@id/imageView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:autofillHints=""
        android:background="#11000000"
        android:ems="10"
        android:hint="@string/username"
        android:inputType="textPersonName"
        android:textColorLink="#808080"
        android:textColorHint="#808080"
        android:textSize="18sp" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="45sp"
        android:layout_below="@id/editText"
        android:layout_centerHorizontal="true"
        android:autofillHints="Password"
        android:background="#11000000"
        android:layout_marginTop="15dp"
        android:ems="10"
        android:hint="password"
        android:inputType="textPassword"
        android:textColorHint="#808080"
        android:textSize="18sp" />

    <androidx.cardview.widget.CardView
        android:id="@+id/footer"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="55dp"
        app:cardCornerRadius="25dp"
        app:cardBackgroundColor="#00ffff"

        >

        <RelativeLayout
            android:id="@+id/registration"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/registration">

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Register Now"
                android:paddingStart="30dp"
                android:paddingRight="30dp"
                android:textSize="20sp"
                android:textColor="#000000"
                android:layout_centerInParent="true"
                />
        </RelativeLayout>
    </androidx.cardview.widget.CardView>
    <androidx.cardview.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_centerHorizontal="true"
        android:layout_above="@id/footer"
        android:layout_alignLeft="@id/footer"
        android:layout_alignRight="@id/footer"
        app:cardBackgroundColor="#00ffff"
        android:layout_marginBottom="10dp"
        app:cardElevation="10dp"
        app:cardCornerRadius="25dp"
        >

        <RelativeLayout
            android:id="@+id/LoginLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/LoginLayout"
            android:layout_alignStart="@+id/LoginLayout">

            <TextView
                android:id="@+id/login"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="@string/login"
                android:textColor="#000000"
                android:textSize="20sp" />

        </RelativeLayout>
    </androidx.cardview.widget.CardView>

</RelativeLayout>
...