فهرست آموزش برنامه نویسی اندروید

بارگذاری Spinner اندروید

۱۳۹۸/۰۸/۲۵ ۴۴

شما می توانید پیشرفت یک اکتیویتی اندرویدی را به وسیله بارگذاری نوار پیشروی (progress bar) نشان دهید. نوار پیشروی (progress bar) به دو شکل پدیدار می شود Loading bar و Loading spinner.
در این مقاله در مورد 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 ضروریست که مرجع spinner را در فایل جاوا در نوار پیشروی (progress bar) بدست آورید . سینتکس آن در زیر آمده است :

 

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

 

سپس شما می توانید آن را پنهان کنید و زمانی که که نیاز پیدا کردید توسط متد setVisibility آن را بازیابی نمایید ؛ ترکیب آن به شرح زیر است :

 

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

 

شماره متد و توضیحات
۱ ()isIndeterminate

نشان دادن پراگرس بار (progress bar) که در حالت نامشخصی است.

۲ ()postInvalidate

باعث ایجاد بی اعتباری (invalidate) در چرخه ی ترتیبی در چرخه  اکتیویتی ها می گردد.

۳ (setIndeterminate(boolean indeterminate

حالت نا مشخص پراگرس بار (progress bar) را تغییر می دهد.

۴ (invalidateDrawable(Drawable dr

بی اعتبار کردن Drawable مخصوص

۵ (incrementSecondaryProgressBy(int diff

افزایش دومین اکتیویتی progress bar با استفاده از مقداری از اکتیویتی های خاص

۶ ()getProgressDrawable

دریافت Drawable  استفاده شده به منظور کشیدن پراگرس بار در حالت پراسس

مثال

در این جا مثالی برای از ستفاده از نوار پردازش به منظور کاربرد spinner نشان داده شده است.برنامه ای اصلی به شما این اجازه را می دهد که با زدن یک کلیک spinner را فعال سازید.

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

مرحله  توضیحات
۱ با استفاده از اندروید استودیو یک پروژه ی جدید با نام Spinner تحت بسته ی com.example.Spinner ایجاد کنید
۲ ثابت های رشته ای مورد نیاز و آرایه ای را که حاوی آیتم های یکی از Spinnerها می باشد را مانند آنچه در ادامه آمده است در فایل res/values/strings.xml تعریف کنید.
۳ محتوای فایل res/layout/activity_main.xml را به منظور تعریف Spinnerها، مانند آنچه در ادامه آمده است تغییر دهید
۴ محتوای فایل java/com.example.Spinner/MainActivity.java را نیز مانند آنچه در ادامه آمده است تغییر دهید.
۵ برنامه را با استفاده از شبیه ساز اندروید اجرا کنید و نتیجه را مورد بررسی قرار دهید.

محتوای فایل 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);
         }
      });
   }
}

 

محتوای تغییر یافته ی 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  درست نصب کرده اید . در هنگام نصب برای اجرای اپلیکیشن از طریق اندروید استودیو یکی از فایل های اکتیویتی پروژه تان را باز کنید و از نوار ابزار بر روی RunEclipse Run Icon کلید کنید. اندروید استودیو اپلیکیشن را روی AVD  شما نصب می کند و آماده به کار می شود. اگر همه چیز در نصب و اپلیکیشن شما درست باشد  پنجره زیر نمایش داده خواهد شد.

آموزش بارگذاری Spinner اندروید

حالا روی لود اسپینر کلیک کنید تا روشن شود.تصویر این عمل در زیر نمایش داده شده است:

آموزش بارگذاری Spinner اندروید

 

 

دانشجویار نماد اعتماد به دانشجویار مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت logo-samandehi مجوز سازمان فنی حرفه ای کشور
blackFriday

پیش از شروع جشنواره بلک فرایدی
خودت رو برای یک خرید برق آسا آماده کن!


بلک فرایدی!

برای شرکت در جشنواره بلک فرایدی لطفا ثبت نام کنید.

  از الان برای بلک فرایدی آماده شو - رزرو تخفیف 90% ، برای همه آموزش ها  صفحه جشنواره