شمانیوز

از ImageSwitcher برای ساخت slider در اپلیکیشن استفاده می شود. به طو مثال اگر شما بخواهید چند تا عکس را به صورت اسلاید نشان دهید باید از ImageSwitcher استفاده کنید؛

از ImageSwitcher برای ساخت slider در اپلیکیشن استفاده می شود. به طو مثال اگر شما بخواهید چند تا عکس را به صورت اسلاید نشان دهید باید از ImageSwitcher استفاده کنید؛

گاهی اوقات نمی خواهید که تصویری به طور ناگهانی روی صفحه ظاهر شود، بلکه ترجیح می دهید به مرور و به صورت  پخش اسلایدی ، تصاویر را به کار بگیرید. این عمل در اندروید توسط ImageSwitcher پشتیبانی می شود.

سویچر تصویر به شما اجازه می دهد تا روی نحوه ی ظاهر شدن تصاویر در صفحه ، تغییراتی اعمال کنید. برای استفاده از سویچر تصویر (image switcher) ، ابتدا باید مولفه xml آن را تعریف کنید که سینتکس آن را در زیر مشاهده می کنید :

 

آموزش برنامه نویسی اندروید - کلیک سایت

 </ImageSwitcher

اکنون ما در فایل جاوا یک نمونه ImageSwithcer ایجاد نموده و یک reference از مولفه ی XML آن به دست می آوریم. سینتکس آن را در زیر مشاهده می کنید :

private ImageSwitcher imageSwitcher; imageSwitcher = (ImageSwitcher)findViewById(R.id.imageSwitcher1);

کار دیگری که انجام می دهید اجرای اینترفیس ViewFactory و اجرای متد اجرا نشده ای می باشد که یک imageView را گزارش می دهد.

سینتکس آن مانند زیر است :

imageSwitcher.setImageResource(R.drawable.ic_launcher); imageSwitcher.setFactory(new ViewFactory() { public View makeView() { ImageView myView = new ImageView(getApplicationContext()); return myView; } }
 

و در انتها لازم است که Animation را به ImageSwithcer اضافه کنید. باید آبجکتی از کلاس Animation را از طریق کلاس AnimationUtilities و با فراخوانی متد استاتیک loadAnimation تعریف کنید،

که سینتکس آن را در زیر مشاهده می کنید :

Animation in = AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left); imageSwitcher.setInAnimation(in); imageSwitcher.setOutAnimation(out); 

متد setInAnimaton شیوه ظاهرشدن آبجکت انیمیشن روی صفحه را تنظیم می کند، در حالی که setOutAnimation عمل عکس آن را انجام می دهد. متد ()loadAnimation یک آبجکت انیمیشن ایجاد می کند.

علاوه بر این متد ها، متد های  کاربردی دیگری نیز در ImageSwitcher وجود دارند که در لیست زیر مشاهده می کنید:

  1. (setImageDrawable(Drawable drawable : یک تصویر را با سوییچر تصویر (image switcher) تنظیم می کند. تصویر به فرم bitmap منتقل می شود.
  2. (setImageResource(int resid : یک تصویر را با سویچر تصویر (image switcher) تنظیم می کند. تصویر به فرم یک id عددی منتقل می شود.
  3. (setImageURI(Uri uri : یک تصویر را با سویچر تصویر (image switcher) تنظیم می کند. تصویر به فرم URI منتقل می شود.
  4. (ImageSwitcher(Context context, AttributeSet attrs  : یک آبجکت image switcher را با تنظیم چند ویژگی تصویب شده در متد ، باز می گرداند (Return می کند) .
  5. (onInitializeAccessibilityEvent (AccessibilityEvent event : یک AccessibilityEvent را با اطلاعاتی در مورد این ویو که منبع رویداد (event source) می باشد، مقدار دهی اولیه می کند.
  6. (onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info  : یک AccessibilityNodeInfo را با اطلاعاتی در مورد این ویو مقدار دهی اولیه می کند.

مثال :

مثال: مثال زیر تاثیرات image switcher را روی bitmap به نمایش می گذارد . این مثال basic application ایجاد می کند که به ما اجازه می دهد تا تاثیرات انیمیشن را روی تصاویر ببینیم.

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

  1. برای ایجاد یک برنامه ی اندروید از Android studio IDE  تحت پکیج com.example.imageswitcher. استفاده می کنیم .
  2. فایل src/MainActivity.java را برای افزودن کد لازم تغییر می دهیم.
  3. res/layout/activity_main رابرای افزودن مولفه های XML مربوطه تغییر می دهیم.
  4. اکنون برنامه را اجرا کنید، یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کرده و نتایج را بررسی کنید.

محتوای تغییر یافته ی src/MainActivity.java :

package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.app.ActionBar.LayoutParams; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.Toast; import android.widget.ViewSwitcher.ViewFactory; public class MainActivity extends Activity { private ImageSwitcher sw; private Button b1,b2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1 = (Button) findViewById(R.id.button); b2 = (Button) findViewById(R.id.button2); sw = (ImageSwitcher) findViewById(R.id.imageSwitcher); sw.setFactory(new ViewFactory() { @Override public View makeView() { ImageView myView = new ImageView(getApplicationContext()); myView.setScaleType(ImageView.ScaleType.FIT_CENTER); myView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); return myView; } }); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "previous Image", Toast.LENGTH_LONG).show(); sw.setImageResource(R.drawable.abc); } }); b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "Next Image", Toast.LENGTH_LONG).show(); sw.setImageResource(R.drawable.tp); } }); } }

ادامه مقاله در : 

آموزش ساخت اسلایدر با image switcher در اندروید

 

آیا این خبر مفید بود؟
جهت مشاهده نظرات دیگران اینجا کلیک کنید
copied

تبلیغات متنی