نمایش Gif در برنامه نویسی اندروید
سلام توسعه دهندگان عزیز در این سری از آموزش برنامه نویسی اندروید به آموزش نمایش Gif در برنامه نویسی اندروید می پردازیم به دو روش می توان gif را در ImageView نمایش داد یک اینکه از طریق url یا لینک اینترنتی یا از سرور و دوم اینکه از پوشه raw بخواهیم این کار را انجام دهیم در ادامه نمایش Gif در برنامه نویسی اندروید را به شما آموزش میدهیم.
در این آموزش ما از دو کتاب خانه Ion و Glide استفاده می کنیم (شما می توانید از یکی از آنها استفاده کنید.)
ابتدا باید کتاب خانه ها زیر را در پروژه خود قرار دهید (بسته به استفاده از آموزش یکی را قرار دهید)
وارد فایل Build.gradle از نوع Top-Level شده سپس در بخش repositories خط های زیر را قرار دهید.
1 2 | mavenCentral() google() |
سپس وارد فایل Build.gradle از نوع Module و در بخش dependencies خط های زیر را قرار دهید.
1 2 3 4 5 6 7 | dependencies { //glide implementation 'com.github.bumptech.glide:glide:4.7.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1' //ion implementation 'com.koushikdutta.ion:ion:2.+' } |
پروژه را sync کنید.
در layout خود یک ImageView همانند زیر قرار دهید.
1 2 3 4 5 6 | <ImageView android:id="@+id/simpleImageView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#000" android:padding="30dp"/> |
اگر بخواهید عکس gif رو لود کنید می توانید با استفاده از کتاب خانه ion آن را از پوشه assets لود کنید.
آموزش ساخت پوشه assets
1 2 3 4 5 | ImageView imageView = (ImageView) findViewById(R.id.simpleImageView); Ion.with(imageView) .error(R.drawable.default_image) .animateGif(AnimateGifMode.ANIMATE) .load("file:///android_asset/animated.gif"); |
در بالا ابتدا imageview را find کردیم بعد از آن به شکل زیر عمل کردیم.
error : عکسی که در صورتی که خطا رخ دهد نمایش داده می شود.
animateGif : چون می خواهیم به صورت gif نمایش داده شود از این ویژگی استفاده کردیم.
load : فقط باید انتهای این آدرس را تغییر دهید (نام فایل خود را جایگزین کنید)
با استفاده از Glide
1 2 3 | ImageView imageView = (ImageView) findViewById(R.id.imageView); GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView); Glide.with(this).load(R.raw.sample_gif).into(imageViewTarget); |
در بالا باید یک پوشه raw درست کنید قبلا آموزش ساخت پوشه raw را قرار داده ایم از لینک زیر استفاده کنید.
آموزش ساخت پوشه raw در اندروید استودیو
اگر از Glide 3.0 استفاده می کنید بهتر است از کد زیر استفاده کنید.
1 2 3 4 5 6 | Glide.with(context) .load(imageUrl) .asGif() .placeholder(R.drawable.loading2) .crossFade() .into(imageView); |
یک نمونه کد دیگر
1 2 3 4 5 | Glide.with(LoginActivity.this) .load(R.drawable.bg_gif) .asGif() // you may not need this .crossFade() .into(relativeLayout); |
و در Glide 4.0 از کد زیر استفاده کنید.
1 2 3 4 | GlideApp.with(this) .load(R.raw.gif_file) .diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageView); |
این آموزش هم به پایان رسید.
موفق و موید باشید.