📜  如何在 Android 中实现圆形 ProgressBar?

📅  最后修改于: 2022-05-13 01:54:28.574000             🧑  作者: Mango

如何在 Android 中实现圆形 ProgressBar?

当我们从另一个来源获取一些数据并且需要时间时会使用ProgressBar,因此为了用户的满意度,我们通常会向他们展示任务的进度。在本文中,我们将学习如何使用Java在 android 应用程序中实现循环进度条。因此,本文将为您提供在Android Studio 中构建的应用程序中实现圆形进度条的完整概念。因此,在不浪费更多时间的情况下,让我们转到文章并阅读我们如何完成此任务。

我们将在本文中开发什么?

我们将构建一个简单的应用程序,我们将在其中实现一个带有文本显示的圆形进度条。下面给出了一个示例视频,以了解我们将在本文中做什么。请注意,我们将使用Java语言来实现这个项目。

在 Android 示例 GIF 中实现圆形 ProgressBar

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。



第二步:创建circular_progress_bar.xml

导航到app > res > drawable > 右键单击并选择new > drawable 资源文件并将新的 XML 文件命名为circle_progress_barxml并参考以下代码。代码中添加了注释以更详细地理解代码。

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 应用程序中的循环进度条