gpt4 book ai didi

java - 如何在Android项目中拥有一个通用的进度条

转载 作者:太空宇宙 更新时间:2023-11-04 10:36:54 26 4
gpt4 key购买 nike

我目前正在尝试找出一种方法,让我的 Android 项目中需要的任何地方(Activity/Fragment)都有一个通用的 ProgressBar 。我尝试过的方法并没有给我带来好的结果。请帮助我找到更好的解决方案。非常欢迎使用 android java 代码的示例。

这是我的自定义进度栏

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fl_common_probar"
android:elevation="40dp"
android:visibility="gone"
android:layout_centerInParent="true">

<View
android:id="@+id/background_dim_pro"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.5"
android:background="@color/textTitleW"
android:elevation="50dp"/>

<RelativeLayout
android:id="@+id/relative_container_pro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:elevation="60dp">


<ImageView
android:id="@+id/image_test"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:src="@drawable/logo_loading" />

<ProgressBar
android:id="@+id/progress_bar_circle_pro"
style="?android:attr/progressBarStyle"
android:layout_width="132dp"
android:layout_height="132dp"
android:indeterminateDrawable="@drawable/circular_progress_bar"
android:indeterminateDuration="@android:integer/config_longAnimTime" />
</RelativeLayout>

最佳答案

请尝试以下方法。

1.) 使用以下内容创建一个 layout xml 文件 (dialog_progress.xml)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_progress"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ProgressBar
android:id="@+id/progressBar"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />

</RelativeLayout>

2.) 创建AppUtil Java 类并创建一个静态方法,如下所示。

public class AppUtil {

// progress bar handling
public static Dialog showProgress(Activity activity) {
Dialog dialog = new Dialog(activity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(
new ColorDrawable(0));
dialog.setContentView(R.layout.dialog_progress);
ProgressBar progressBar = dialog.findViewById(R.id.progressBar);
progressBar.getIndeterminateDrawable().setColorFilter(activity.getResources().getColor(R.color.colorPrimary), PorterDuff.Mode.MULTIPLY);
dialog.setCancelable(false);
dialog.show();
return dialog;
}
}

3.) 当您需要在 Activity/Fragment 中显示 ProgressBar 时,请执行以下操作。

Dialog dialog = AppUtil.showProgress(MainActivity.this);

当您需要关闭progressBar

dialog.dismiss();

就是这样。尝试让我知道您的反馈。谢谢。

关于java - 如何在Android项目中拥有一个通用的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com