如何在 Android 中实现圆形 ProgressBar?
当我们从另一个来源获取一些数据并且需要时间时会使用ProgressBar,因此为了用户的满意度,我们通常会向他们展示任务的进度。在本文中,我们将学习如何使用Java在 android 应用程序中实现循环进度条。因此,本文将为您提供在Android Studio 中构建的应用程序中实现圆形进度条的完整概念。因此,在不浪费更多时间的情况下,让我们转到文章并阅读我们如何完成此任务。
我们将在本文中开发什么?
我们将构建一个简单的应用程序,我们将在其中实现一个带有文本显示的圆形进度条。下面给出了一个示例视频,以了解我们将在本文中做什么。请注意,我们将使用Java语言来实现这个项目。
分步实施
第 1 步:创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
第二步:创建circular_progress_bar.xml
导航到app > res > drawable > 右键单击并选择new > drawable 资源文件并将新的 XML 文件命名为circle_progress_bar 。 xml并参考以下代码。代码中添加了注释以更详细地理解代码。
XML
XML
XML
Java
import android.os.Bundle;
import android.os.Handler;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar;
private TextView progressText;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// set the id for the progressbar and progress text
progressBar = findViewById(R.id.progress_bar);
progressText = findViewById(R.id.progress_text);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// set the limitations for the numeric
// text under the progress bar
if (i <= 100) {
progressText.setText("" + i);
progressBar.setProgress(i);
i++;
handler.postDelayed(this, 200);
} else {
handler.removeCallbacks(this);
}
}
}, 200);
}
}
第 3 步:创建 circle_shape.xml
同样新建一个drawable资源文件,命名为circular_shape.xml ,参考如下代码。
XML
步骤 4:使用 activity_main.xml 文件
现在是设计应用程序布局的时候了。为此,导航到app > res > layout > activity_main.xml并参考下面编写的代码。
XML
第 5 步:使用 MainActivity。 Java文件
转到应用程序 > Java > 包名称 > MainActivity。 Java文件,参考如下代码。下面是 MainActivity 的代码。 Java文件。代码中添加了注释以更详细地理解代码。
Java
import android.os.Bundle;
import android.os.Handler;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar;
private TextView progressText;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// set the id for the progressbar and progress text
progressBar = findViewById(R.id.progress_bar);
progressText = findViewById(R.id.progress_text);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// set the limitations for the numeric
// text under the progress bar
if (i <= 100) {
progressText.setText("" + i);
progressBar.setProgress(i);
i++;
handler.postDelayed(this, 200);
} else {
handler.removeCallbacks(this);
}
}
}, 200);
}
}
就是这样,现在应用程序已准备好安装在设备上。下面是应用程序的输出结果。
输出:
GitHub 链接:
该项目在 GitHub 上可用,您可以通过以下链接访问它: Android 应用程序中的循环进度条