Progress Bar برای نشان دادن پیشرفت یک کار استفاده می شود
به عنوان مثال ، هنگام بارگیری یا بارگذاری چیزی از اینترنت ، بهتر است
پیشرفت بارگیری یا بارگذاری را برای کاربر نشان دهید
در اندروید یک کلاس به نام ProgressDialog وجود دارد که به شما این امکان را می دهد تا نوار پیشرفت را ایجاد کنید
برای انجام این کار باید یک شیء از این کلاس را فرا خوانی کنید
syntax آن به صورت زیر می باشد
ProgressDialog progress = new ProgressDialog(this);
حالا می تونیم برخی از ویژگی های این گفتگو را تنظیم کنیم مانند سبک ، متن آن و غیره
progress.setMessage("Downloading Music :) ");
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setIndeterminate(true);
جدای از این روشها ، روشهای دیگری نیز وجود دارد که توسط کلاس ProgressDialog ارائه می شود
مانند
getMax()
این روش بزرگترین مقدار پیشرفت را برمی گرداند
(incrementProgressBy(int diff
این روش با توجه به مقدار منتقل شده به عنوان پارامتر ، نوار پیشرفت را افزایش می دهد
(setIndeterminate(boolean indeterminate
این روش شاخص پیشرفت را نشان می دهد
(setMax(int max
این روش حداکثر مقدار progress dialog را تعیین می کند
(setProgress(int value
این روش برای به روزرسانی progress dialog با مقداری خاص استفاده می شود
(show(Context context, CharSequence title, CharSequence message
این یک روش استاتیک است که برای نمایش progress dialog استفاده می شود
مثال
این مثال استفاده افقی از ProgressDialog را نشان می دهد که در واقع Progress Bar است
Progress Bar را با فشار دادن دکمه نمایش می دهد
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>
src/MainActivity.java.
package com.hamyarandroid.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 = 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) {
e.printStackTrace();
}
}
}
};
t.start();
}
}