帮我封装一个Android 加载弹窗 显示显示和隐藏功能
时间: 2024-03-05 16:48:43 浏览: 97
android 弹窗
好的,下面是一个简单的封装代码示例,可以用于显示和隐藏加载弹窗。
首先,在res/layout目录下创建一个名为progress_dialog.xml的布局文件,用于定义加载弹窗的样式,代码如下:
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/progress_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/progress_bar"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text="正在加载中..."
android:textColor="#333333" />
</RelativeLayout>
```
在这个布局文件中,我们使用了一个ProgressBar和一个TextView来显示加载弹窗的样式。
然后,创建一个名为ProgressDialogUtil的工具类,用于封装显示和隐藏加载弹窗的功能,代码如下:
```
public class ProgressDialogUtil {
private static Dialog progressDialog;
public static void showProgressDialog(Context context) {
if (progressDialog == null) {
progressDialog = new Dialog(context, R.style.progress_dialog);
progressDialog.setContentView(R.layout.progress_dialog);
progressDialog.setCancelable(false);
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();
}
}
public static void hideProgressDialog() {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
}
}
```
在这个工具类中,我们定义了两个静态方法:showProgressDialog()和hideProgressDialog()。showProgressDialog()方法用于显示加载弹窗,hideProgressDialog()方法用于隐藏加载弹窗。
在showProgressDialog()方法中,我们首先判断progressDialog是否为空,如果为空则创建一个Dialog对象,并设置对话框的样式和一些属性,比如不可取消、不可触摸外部等。然后显示对话框。
在hideProgressDialog()方法中,我们判断progressDialog是否为空并且正在显示,如果是,则关闭对话框并将progressDialog置为null。
使用这个工具类也非常简单,只需要在需要显示加载弹窗的地方调用showProgressDialog()方法即可。比如:
```
ProgressDialogUtil.showProgressDialog(this);
```
当数据加载完成后,调用hideProgressDialog()方法即可隐藏加载弹窗。
希望这个例子能够帮助你更好地理解如何封装Android加载弹窗的显示和隐藏功能。
阅读全文