如何实现在黑暗背景之上运行的Progressbar



我已经成功地实现了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>

如果我没有误解,您的目标是显示一个以进度栏作为主要组件的对话框。如果是这样,您可以尝试使用ProgressDialog,此链接提供了一个很好的示例。如果要为对话框具有自定义样式,则可以从示例中的代码中删除setTitlesetMessage,如果这还不够,则可以尝试为对话框设置自定义样式。

希望它有帮助!

最新更新