ProgressBar با استفاده ازProgressDialog
ProgressBar با استفاده ازProgressDialog
نوارهای پیشرفت برای نمایش پیشرفت یک فعالیت به کار می روند. وقتی که شما در حال بارگذاری یا دانلود کردن چیزی از اینترنت هستید، خیلی خوب است که پیشرفت دانلود یا آپلود به کاربر نمایش داده شود.
در اندروید کلاسی به نام ProgressDialog وجود دارد که به شما امکان ایجاد نوار پیشرفت را می دهد. برای انجام این کار باید یک شئ از این کلاس را به عنوان نمونه در نظر بگیرید، که ترکیب آن مانند زیر می باشد.
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)
این متد حداکثر مقدار دیالوگ پیشرفت را تنظیم می کند.
-
setProgress(int value)
این متد برای آپدیت کردن دیالوگ پیشرفت با مقادیر مشخص، استفاده می شود.
-
show(Context context, CharSequence title, CharSequence message)
این متد یک متد استاتیک می باشد که برای نمایش دیالوگ پیشرفت استفاده می شود.
مثال
این مثال استفاده ی از دیالوگ پیشرفت افقی را نشان می دهد که در واقع یک نوار پیشرفت می باشد. در این مثال بعد از فشار دکمه یک نوار پیشرفت نشان می دهد.
برای انجام مثال لازم است آن را روی یک دستگاه حقیقی ، اجرا کنید، طبق مراحل زیر
-
برای ایجاد یک برنامه ی اندروید از Eclipse IDE استفاده خواهید کرد و آن را با عنوان ProgressDialog به عنوان بسته ی com.PRG.progressdialog نام گذاری کنید. زمان ایجاد این برنامه مطمئن شوید که Target SDKو Compile With در آخرین ورژن Android SDKهستند تا از سطوح بالاتر API استفاده کنید.
-
فایل src/MainActivity.java را برای افزودن پیشرفت و نمایش دیالوگ پیشروی، تغییر دهید.
-
فایل res/layout/activity_main.xml را برای افزودن کد XML مربوطه تغییر دهید.
-
برنامه را اجرا کنید و یک دستگاه اجرایی اندروید انتخاب کرده و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.
در زیر محتوای فایل تغییر یافته ی MainActivity.java را میبینید.
package com.PRG.ProgressDialog;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
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();
}
}
محتوای 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.PRG.ProgressDialog" >
<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>
اجازه بدهید برنامه ی ProgressDialog شما را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی از فایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید.
موبایل خود را به عنوان یک گزینه انتخاب کرده و سپس آن را بررسی کنید که صفحه ی زیر را نمایش خواهد داد.
اکنون دکمه را فشار دهید تا نوار پیشرفت شروع به کار کند. پس از فشار دادن دکمه صفحه ی زیر نمایش داده خواهد شد.
این برنامه به طور مداوم خود را آپدیت می کند.
- نوشته شده توسط سعید نوشادی
- بازدید: 5942