Как реализовать ProgressBar, который работает поверх темного фона? - PullRequest
1 голос
/ 17 марта 2019

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

Я сейчас пытаюсьиспользовать объект просмотра в качестве слоя заливки, который по-прежнему позволяет пользователю нажимать кнопки и вводить текст

Диалог хода выполнения устарел: https://developer.android.com/reference/android/app/ProgressDialog.html

Мой файл макета:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
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:id="@+id/registerform"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RegisterActivity">

<ProgressBar
    android:id="@+id/indeterminateBar"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone"
    android:indeterminate="true"
    android:layout_marginStart="181dp"
    android:layout_marginTop="332dp"
    android:layout_marginEnd="182dp"
    android:layout_marginBottom="351dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<View
    android:id="@+id/bgblur"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@color/common_google_signin_btn_text_dark_focused"
    android:visibility="gone"
    android:clickable="false"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbarStyle="insideInset"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="44dp">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <EditText
            android:id="@+id/Fname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="40dp"
            android:layout_marginEnd="99dp"
            android:autofillHints="name"
            android:ems="10"
            android:hint="@string/first_name"
            android:inputType="textPersonName"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/Mname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:autofillHints="name"
            android:ems="10"
            android:hint="@string/middle_name"
            android:inputType="textPersonName"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Fname" />

        <EditText
            android:id="@+id/Lname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:autofillHints="name"
            android:ems="10"
            android:hint="@string/last_name"
            android:inputType="textPersonName"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Mname" />

        <EditText
            android:id="@+id/Rolln"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:ems="10"
            android:hint="@string/roll_number"
            android:importantForAutofill="no"
            android:inputType="text"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Lname" />

        <EditText
            android:id="@+id/Dept"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:ems="10"
            android:hint="@string/department"
            android:importantForAutofill="no"
            android:inputType="text"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Rolln" />

        <EditText
            android:id="@+id/Prog"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:ems="10"
            android:hint="@string/programme"
            android:importantForAutofill="no"
            android:inputType="text"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Dept" />

        <EditText
            android:id="@+id/Semester"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:ems="10"
            android:hint="@string/semester"
            android:importantForAutofill="no"
            android:inputType="number"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Prog" />

        <EditText
            android:id="@+id/Email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:autofillHints="emailAddress"
            android:ems="10"
            android:hint="@string/email"
            android:inputType="textEmailAddress"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Semester" />

        <EditText
            android:id="@+id/Password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="99dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="99dp"
            android:autofillHints="password"
            android:ems="10"
            android:hint="@string/password"
            android:inputType="textPassword"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Email" />

        <EditText
            android:id="@+id/PasswordConfirm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="97dp"
            android:layout_marginTop="24dp"
            android:layout_marginEnd="97dp"
            android:autofillHints="password"
            android:ems="10"
            android:hint="@string/re_enter_password"
            android:inputType="textPassword"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Password" />

        <Button
            android:id="@+id/SubmitButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="159dp"
            android:layout_marginTop="22dp"
            android:layout_marginEnd="160dp"
            android:text="@string/submit"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/PasswordConfirm" />

    </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

1 Ответ

0 голосов
/ 17 марта 2019

если я не понял неправильно, ваша цель - показать диалог с индикатором выполнения в качестве основного компонента. Если это так, вы можете попробовать использовать ProgressDialog, , эта ссылка дает хороший пример того, как его использовать. Если вы хотите иметь собственный стиль для диалога, вы можете удалить setTitle и setMessage из кода в примере, и если этого недостаточно, вы можете попробовать установить пользовательский стиль для диалог.

Надеюсь, это поможет!

...