سبد (0)

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 از تولبار کلیک کنید. 

موبایل خود را به عنوان یک گزینه انتخاب کرده و سپس آن را بررسی کنید که صفحه ی زیر را نمایش خواهد داد.

اکنون دکمه را فشار دهید تا نوار پیشرفت شروع به کار کند. پس از فشار دادن دکمه صفحه ی زیر نمایش داده خواهد شد.

این برنامه به طور مداوم خود را آپدیت می کند.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehiمجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامیپرداخت آنلاین -  بانک ملتمعرفی بیاموز در شبکه سهپرداخت آنلاین - بانک اقتصاد نوینپرداخت آنلاین - بانک سامان