Android 显示加载中状态

发布时间: 2022-04-07 17:19:55 作者: 大象笔记

例如,我要上传一个比较大的图片文件到服务器,等待处理完成,并接收返回结果。 这个过程可能很漫长,需要等待两秒,这时候我需要一个加载中的状态提示,避免用户不知所措。

Android Kotlin 比较好的实现方式

https://stackoverflow.com/questions/45373007/progressdialog-is-deprecated-what-is-the-alternate-one-to-use

显示效果

实现逻辑

layout_loading_dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="20dp">
    <ProgressBar
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="4"
        android:gravity="center"
        android:text="图片分析中,请稍候 ..." />
</LinearLayout>

activity.kt

// 成员变量
private lateinit var dialog: AlertDialog

// onCreate
val builder: AlertDialog.Builder = AlertDialog.Builder(this)
builder.setCancelable(false) // if you want user to wait for some process to finish,
builder.setView(R.layout.layout_loading_dialog)
dialog = builder.create()

// 处理逻辑中
dialog.show()		// to show this dialog
dialog.dismiss()	// to hide this dialog

MATERIAL DESIGN 有这个组件

https://material.io/components/progress-indicators/android#using-progress-indicators

我是一名山东烟台的开发者,联系作者