是否推荐使用 ProgressDialog 登录?

Is using ProgressDialog recommended for login?

我有一个登录 activity,一旦按下登录按钮,http 请求就会发送到 api 以验证凭据。

我面临的问题是按钮可以被多次按下,并且从这个任务中获得响应有时需要一段时间。

我的解决方案是添加 ProgressDialog 来阻止 UI。但是,我发现 ProgressDialog 已被弃用。我做了一些研究,似乎它被弃用的原因正是因为 UI 的阻塞在大多数情况下都不是最佳选择。

所以请问,登录场景推荐使用ProgressDialog吗?如果不是,当从 API 获得响应可能需要比预期更长的时间时,处理登录 activity 的最佳方法是什么?

您可以创建具有 disabled/enabled 状态的自定义 "Button"。当用户单击按钮时使用禁用按钮,清除文本并显示进度条。

我认为这是一种更优雅的显示加载进度的方式。

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal">

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/progressBar"
        android:layout_centerInParent="true"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Connect"
        />
</RelativeLayout>