首页 > 解决方案 > 在谷歌加载其 SignInIntent 时添加 progressBar

问题描述

我正在使用带有 Firebase 的 Google 登录身份验证。单击 google signIn 按钮时,加载其登录 Intent 需要一些时间。同时,我想添加一个 progressBar 。但是 ProgressDialog 现在已被弃用,所以我如何在这段时间间隔内添加进度。

标签: androidandroid-layoutuser-interface

解决方案


在单击登录按钮时调用此方法,

 public void showProgressBar() {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
        progressBar.setVisibility(View.VISIBLE);
    }

调用此方法隐藏进度条,

    public void hideProgressBar() {
        progressBar.setVisibility(View.GONE);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
    }

在您的布局中,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"/>
</RelativeLayout>


推荐阅读