Адаптивный дизайн с использованием Nested Scroll View - PullRequest
0 голосов
/ 28 января 2019

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

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

Вот XML-файл макета

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBackground"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
tools:context=".activities.LoginActivity">

<android.support.v7.widget.LinearLayoutCompat
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.AppCompatImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="40dp"
        android:src="@drawable/logo" />



<android.support.design.widget.TextInputLayout
        android:id="@+id/textInputLayoutName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/textInputEditTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_name"
            android:inputType="text"
            android:maxLines="1"
            android:textColor="@android:color/white" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/textInputLayoutEmail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/textInputEditTextEmail"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_email"
            android:inputType="text"
            android:maxLines="1"
            android:textColor="@android:color/white" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/textInputLayoutPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">

Продолжение следует ..

<android.support.design.widget.TextInputEditText
            android:id="@+id/textInputEditTextPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_password"
            android:inputType="textPassword"
            android:maxLines="1"
            android:textColor="@android:color/white" />
    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/textInputLayoutConfirmPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/textInputEditTextConfirmPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_confirm_password"
            android:inputType="textPassword"
            android:maxLines="1"
            android:textColor="@android:color/white" />
    </android.support.design.widget.TextInputLayout>

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/appCompatButtonRegister"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:background="@color/colorTextHint"
        android:text="@string/text_register" />

    <android.support.v7.widget.AppCompatTextView
        android:id="@+id/appCompatTextViewLoginLink"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:gravity="center"
        android:text="Already a member? Login"
        android:textSize="16dp" />
</android.support.v7.widget.LinearLayoutCompat>

Я изменил макет на Линейный и относительный, а затем Он стал адаптивным, но после запуска приложения он показывает, что приложение перестало работать, и в Logcat ошибки

Error Logcat

1 Ответ

0 голосов
/ 28 января 2019

Попробуйте это

    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/nestedScrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/text_gray"
        android:paddingBottom="20dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="20dp">

        <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">

                // Your other Code here.....

    </android.support.v4.widget.NestedScrollView>
    </android.support.constraint.ConstraintLayout>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...