نوار پیشرفت Spinner در برنامه نویسی اندروید

4 سال پیش

نوار پیشرفت Spinner در برنامه نویسی اندروید

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

 

از طریق بارگیری نوار پیشرفت می توانید پیشرفت یک کار را در اندروید نشان دهید.

نوار پیشرفت به دو شکل است.

  1. Loading bar
  2. Loading Spinner

در این درس ما در مورد نوار پیشرفت Spinner در برنامه نویسی اندرویدبحث خواهیم کرد.

Spinner برای نمایش پیشرفت کارهایی که زمان کلی انجام آنها مشخص نیست استفاده می شود. برای استفاده از آن، فقط باید آن را در xml اینگونه تعریف کنید:

<ProgressBar
   android:id="@+id/progressBar1"
   style="?android:attr/progressBarStyleLarge"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerHorizontal="true" />

پس از تعریف آن در xml، باید مرجع آن را در فایل java از طریق کلاس ProgressBar دریافت کنید. نحو آن در زیر آورده شده است:

private ProgressBar spinner;
spinner = (ProgressBar)findViewById(R.id.progressBar1);

پس از آن می توانید آن را ناپدید کنید و در صورت لزوم از طریق متد setVisibility  آن را برگردانید. نحو آن در زیر آورده شده است:

spinner.setVisibility(View.GONE);
spinner.setVisibility(View.VISIBLE);

به غیر از این متدها ، متدهای دیگری نیز در کلاس ProgressBar تعریف شده است که می توانید از آنها برای کنترل موثرتر Spinner استفاده کنید.

  • ()isIndeterminate 

مشخص کنید که آیا این نوار پیشرفت در حالت نامشخص  (indeterminate) است

  • ()postInvalidate 

این متد به دلیل نامعتبر بودن یک حلقه در چرخه اتفاق می اغتد

  • (setIndeterminate(boolean indeterminate

حالت نامشخص (indeterminate) را برای این نوار پیشرفت تغییر دهید

  • (invalidateDrawable(Drawable dr

Drawable مشخص شده را غیرفعال می کند

  • (incrementSecondaryProgressBy(int diff

پیشرفت ثانویه نوار پیشرفت را با مقدار مشخص شده افزایش می دهد

  • ()getProgressDrawable

drawable را برای رسم نوار پیشرفت در حالت پیشرفت استفاده می کند.

 

مثال

در اینجا مثالی وجود دارد که نشانگر استفاده از ProgressBar برای مدیریت spinner است. این برنامه ابه شما امکان می دهد با کلیک روی دکمه spinner آن را روشن کنید.

برای آزمایش این مثال، می توانید آن را روی دستگاه واقعی یا شبیه ساز اجرا کنید.

شرح مراحل 

۱ شما برای ایجاد یک برنامه Android تحت یک پکیج com.example.sairamkrishna.myapplication از Android studio استفاده خواهید کرد.
۲ برای اضافه کردن کد لازم، فایل src / MainActivity.java را تغییر دهید.
۳ res / layout / activity_main را تغییر دهید تا مولفه های XML مربوطه اضافه شود
۴ باید یک پرونده xml در پوشه قابل ترسیم ایجاد کنید. این شامل اطلاعات شکل و چرخش در مورد نوار پیشرفت است
۵ برنامه را اجرا کرده و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید

در زیر محتوای پرونده فعالیت اصلی تغییر یافته src / MainActivity.java است.

package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;


public class MainActivity extends Activity {
   Button b1;

   private ProgressBar spinner;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
        
      b1=(Button)findViewById(R.id.button);
      spinner=(ProgressBar)findViewById(R.id.progressBar);
      spinner.setVisibility(View.GONE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            spinner.setVisibility(View.VISIBLE);
         }
      });
   }
}

در زیر محتوای اصلاح شده xml res / layout / activity_main.xml آمده است.

<?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="Progress Dialog" 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_below="@+id/imageView"
      android:layout_centerHorizontal="true" />
      
   <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" />
      
   <ProgressBar
      style="?android:attr/progressBarStyleLarge"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/progressBar"
      android:progressDrawable="@drawable/circular_progress_bar"
      android:layout_below="@+id/button"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView"
      android:layout_alignLeft="@+id/textview"
      android:layout_alignStart="@+id/textview"
      android:layout_alignParentBottom="true" />

</RelativeLayout>

در زیر محتوای res / drawable / circular_progress_bar.xml وجود دارد.

<?xml version="1.0" encoding="utf-8"?>
<rotate
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:fromDegrees="90"
   android:pivotX="50%"
   android:pivotY="50%"
   android:toDegrees="360">
   
   <shape
      android:innerRadiusRatio="3"
      android:shape="ring"
      android:thicknessRatio="7.0">
      
      <gradient
         android:centerColor="#007DD6"
         android:endColor="#007DD6"
         android:startColor="#007DD6"
         android:angle="0"
         android:type="sweep"
         android:useLevel="false" />
   </shape>
   
</rotate>

در زیر محتوای فایل 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>

بیایید برنامه خود را اجرا کنیم! من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

 

اکنون بر روی دکمه وسط صفحه کلیک کنید تا بارگذاری spinner روشن شود. در تصویر زیر نشان داده شده است

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
  23. تماس های تلفنی در برنامه نویسی اندروید
  24. انتشار برنامه اندروید
  25. آموزش Alert Dialog در برنامه نویسی اندروید
  26. انیمیشن در برنامه نویسی اندروید
  27. ضبط صدا در برنامه نویسی اندروید
  28. مدیریت صدا در برنامه نویسی اندروید
  29. آموزش Auto Complete در برنامه نویسی اندروید
  30. بهترین شیوه ها در برنامه نویسی اندروید
  31. بلوتوث در برنامه نویسی اندروید
  32. استفاده از دوربین در برنامه نویسی اندروید
  33. کلیپ بورد در برنامه نویسی اندروید
  34. فونت سفارشی در برنامه نویسی اندروید
  35. پشتیبان گیری از داده ها در برنامه نویسی اندروید
  36.  ابزارهای توسعه دهنده در برنامه نویسی اندروید
  37. آموزش شبیه ساز در برنامه نویسی اندروید
  38. اتصال به فیس بوک در برنامه نویسی اندروید
  39. حرکات لمسی در برنامه نویسی اندروید
  40. آموزش گوگل مپ در برنامه نویسی اندروید
  41. افکت های تصویر در برنامه نویسی اندروید
  42. Image Switcher در برنامه نویسی اندروید
  43. حافظه داخلی در برنامه نویسی اندروید
  44. آموزش کار با JetPlayer در برنامه نویسی اندروید
  45. JSON Parser در برنامه نویسی اندروید
  46. ارتباط با LinkedIn در برنامه نویسی اندروید

 

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه