Самый простой способ сделать круг прогресса — использовать класс с именем ProgressDialog. Стержень загрузки также может быть сделан через этот класс. Единственная логическая разница между полосой и кружком состоит в том, что первая используется, когда вы знаете общее время ожидания конкретной задачи, тогда как последняя используется, когда вы не знаете время ожидания.
Для этого вам нужно создать экземпляр объекта этого класса. Его синтаксис есть.
ProgressDialog progress = new ProgressDialog(this);
Теперь вы можете установить некоторые свойства этого диалога. Например, его стиль, текст и т. Д.
progress.setMessage("Downloading Music 🙂 "); progress.setProgressStyle(ProgressDialog.STYLE_SPINNER); progress.setIndeterminate(true);
Помимо этих методов, есть и другие методы, предоставляемые классом ProgressDialog.
Sr.No | Классы и описание |
---|---|
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.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button b1; private ProgressDialog progressBar; private int progressBarStatus = 0; private Handler progressBarbHandler = new Handler(); private long fileSize = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressBar = new ProgressDialog(v.getContext()); progressBar.setCancelable(true); progressBar.setMessage("File downloading ..."); progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressBar.setProgress(0); progressBar.setMax(100); progressBar.show(); progressBarStatus = 0; fileSize = 0; new Thread(new Runnable() { public void run() { while (progressBarStatus < 100) { progressBarStatus = downloadFile(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } progressBarbHandler.post(new Runnable() { public void run() { progressBar.setProgress(progressBarStatus); } }); } if (progressBarStatus >= 100) { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } progressBar.dismiss(); } } }).start(); } }); } public int downloadFile() { while (fileSize <= 1000000) { fileSize++; if (fileSize == 100000) { return 10; }else if (fileSize == 200000) { return 20; }else if (fileSize == 300000) { return 30; }else if (fileSize == 400000) { return 40; }else if (fileSize == 500000) { return 50; }else if (fileSize == 700000) { return 70; }else if (fileSize == 800000) { return 80; } } return 100; } }
Измените содержимое файла res / layout / activity_main.xml следующим образом
В следующем коде abc указывает логотип tutorialspoint.com
<?xml version="1.0" encoding="utf-8"?> <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:text="Music Palyer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="35dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView" android:layout_below="@+id/textview" android:layout_centerHorizontal="true" android:textColor="#ff7aff24" android:textSize="35dp" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="download" android:id="@+id/button" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="112dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" /> </RelativeLayout>
Измените файл res / values / string.xml следующим образом
<resources> <string name="app_name">My Application</string> </resources>
Это стандартный 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="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.sairamkrishna.myapplication.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 Studio, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок с панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.
Просто нажмите кнопку, чтобы запустить диалог прогресса. После нажатия появится следующий экран.