Учебники

Android Progress Bar с использованием ProgressDialog

Индикаторы выполнения используются для отображения хода выполнения задачи. Например, когда вы загружаете или скачиваете что-то из Интернета, лучше показать пользователю процесс загрузки / выгрузки.

В Android есть класс с именем ProgressDialog, который позволяет создавать индикатор выполнения. Для этого вам нужно создать экземпляр объекта этого класса. Его синтаксис есть.

ProgressDialog progress = new ProgressDialog(this);

Теперь вы можете установить некоторые свойства этого диалога. Например, его стиль, текст и т. Д.

progress.setMessage("Downloading Music 🙂 ");
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setIndeterminate(true);

Помимо этих методов, существуют другие методы, предоставляемые классом ProgressDialog

Старший нет Название Описание
1

getMax ()

Этот метод возвращает максимальное значение прогресса.

2

incrementProgressBy (int diff)

Этот метод увеличивает индикатор выполнения на разницу значений, переданных в качестве параметра.

3

setIndeterminate (логическое неопределенное)

Этот метод устанавливает индикатор прогресса как детерминированный или неопределенный.

4

setMax (int max)

Этот метод устанавливает максимальное значение диалога прогресса.

5

setProgress (int value)

Этот метод используется для обновления диалогового окна прогресса с определенным значением.

6

show (контекстный контекст, заголовок CharSequence, сообщение CharSequence)

Это статический метод, используемый для отображения диалога прогресса.

getMax ()

Этот метод возвращает максимальное значение прогресса.

incrementProgressBy (int diff)

Этот метод увеличивает индикатор выполнения на разницу значений, переданных в качестве параметра.

setIndeterminate (логическое неопределенное)

Этот метод устанавливает индикатор прогресса как детерминированный или неопределенный.

setMax (int max)

Этот метод устанавливает максимальное значение диалога прогресса.

setProgress (int value)

Этот метод используется для обновления диалогового окна прогресса с определенным значением.

show (контекстный контекст, заголовок CharSequence, сообщение CharSequence)

Это статический метод, используемый для отображения диалога прогресса.

пример

Этот пример демонстрирует горизонтальное использование диалогового окна прогресса, которое фактически является индикатором выполнения. На нем отображается индикатор выполнения при нажатии на кнопку.

Чтобы поэкспериментировать с этим примером, вам необходимо запустить его на реальном устройстве после разработки приложения в соответствии с шагами ниже.

меры Описание
1 Вы будете использовать Android studio для создания приложения Android в пакете com.example.sairamkrishna.myapplication.
2 Измените файл src / MainActivity.java, чтобы добавить код прогресса для отображения диалога прогресса.
3 Измените файл res / layout / activity_main.xml, чтобы добавить соответствующий код XML.
4 Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Ниже приводится содержимое измененного основного файла активности src / MainActivity.java.

package com.example.sairamkrishna.myapplication;

import android.app.ProgressDialog;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends ActionBarActivity {
   Button b1;
   private ProgressDialog progress;
   
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      b1 = (Button) findViewById(R.id.button2);
   }
   
   public void download(View view){
      progress=new ProgressDialog(this);
      progress.setMessage("Downloading Music");
      progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      progress.setIndeterminate(true);
      progress.setProgress(0);
      progress.show();
      
      final int totalProgressTime = 100;
      final Thread t = new Thread() {
         @Override
         public void run() {
            int jumpTime = 0;
            
            while(jumpTime < totalProgressTime) {
               try {
                  sleep(200);
                  jumpTime += 5;
                  progress.setProgress(jumpTime);
               } catch (InterruptedException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
            }
         }
      };
      t.start();
   }
}

Измените содержимое файла res / layout / activity_main.xml следующим образом:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp"
      android:text="Progress bar" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Download"
      android:onClick="download"
      android:id="@+id/button2"
      android:layout_marginLeft="125dp"
      android:layout_marginStart="125dp"
      android:layout_centerVertical="true" />
      
</RelativeLayout>

Это стандартный AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
   
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
      
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      
      </activity>
   
   </application>
</manifest>

Давайте попробуем запустить ваше приложение. Предполагается, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». Eclipse Run Icon значок с панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.

Anroid Camera Tutorial

Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, которое отобразит следующий экран —

Руководство по диалогу прогресса Android

Просто нажмите кнопку, чтобы запустить индикатор выполнения. После нажатия появится следующий экран —

Руководство по диалогу прогресса Android

Он будет постоянно обновляться.