📜  Android中的State ProgressBar

📅  最后修改于: 2021-05-13 16:32:49             🧑  作者: Mango

状态进度栏是我们在许多应用程序中看到的主要功能之一。我们可以在机票预订应用程序,教育应用程序中看到此功能。该进度条有助于告诉用户执行任务的步骤。在本文中,我们将了解如何在Android中实现State Progress Bar。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。

Android Sample GIF中的State ProgressBar

状态进度栏的应用

  • 在提供服务的大多数服务中使用,例如机票预订,检查表填写等。
  • 该状态进度栏有助于用户执行任务的步骤。
  • 在各种考试表格填写应用程序中使用。

状态进度栏的属性

Attributes

Description

layout_width Use for giving specific width.
layout_height Use for giving specific height.
spb_maxStateNumber Use to display the number of states used in the app.
spb_currentStateNumber Use to display the current state.
spb_stateBackgroundColor Use to display background color.
spb_stateForegroundColor Use to display Foreground color.
spb_animateToCurrentProgressState Gives Animation to the current Progress state.
spb_checkStateCompleted Check whether the state is completed or not. 

分步实施

步骤1:创建一个新项目

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

步骤2:在build.gradle文件中添加State Progress Bar库的依赖项

然后导航到gradle脚本,然后到build.gradle(Module)级别。在依赖性部分的build.gradle文件中添加以下行。

现在单击立即同步,它将同步build.gradle()中的所有文件

步骤3:在您的activity_main.xml文件中创建一个新的State Progress Bar

导航到应用程序> res>布局以打开activity_main.xml文件。以下是activity_main.xml文件的代码。

XML


  
    
    
      
    
    


Java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.kofigyan.stateprogressbar.StateProgressBar;
  
public class MainActivity extends AppCompatActivity {
  
    // steps on state progress bar
    String[] descriptionData = {"Step One", "Step Two", "Step Three", "Step Four"};
  
    Button button;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
        stateProgressBar.setStateDescriptionData(descriptionData);
  
        // button given along with id
        button = (Button) findViewById(R.id.button);
  
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                switch (stateProgressBar.getCurrentStateNumber()) {
                    case 1:
                        stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.TWO);
                        break;
                    case 2:
                        stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.THREE);
                        break;
                    case 3:
                        stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.FOUR);
                        break;
                    case 4:
                        stateProgressBar.setAllStatesCompleted(true);
                        break;
                }
            }
        });
    }
}


步骤4:使用MainActivity。 Java文件

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。

Java

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.kofigyan.stateprogressbar.StateProgressBar;
  
public class MainActivity extends AppCompatActivity {
  
    // steps on state progress bar
    String[] descriptionData = {"Step One", "Step Two", "Step Three", "Step Four"};
  
    Button button;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
        stateProgressBar.setStateDescriptionData(descriptionData);
  
        // button given along with id
        button = (Button) findViewById(R.id.button);
  
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                switch (stateProgressBar.getCurrentStateNumber()) {
                    case 1:
                        stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.TWO);
                        break;
                    case 2:
                        stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.THREE);
                        break;
                    case 3:
                        stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.FOUR);
                        break;
                    case 4:
                        stateProgressBar.setAllStatesCompleted(true);
                        break;
                }
            }
        });
    }
}

现在单击运行选项,将需要一些时间来构建Gradle。之后,您将在设备上获得输出,如下所示。

输出: