diff --git a/README.md b/README.md index 0006f1e..7c4e533 100644 --- a/README.md +++ b/README.md @@ -335,7 +335,7 @@ carousel.carouselListener = object : CarouselListener { // ... } - override fun onClick(position: Int, carouselItem: CarouselItem) { + override fun onClick(position: Int, carouselItem: CarouselItem, bitmap: Bitmap) { // ... } @@ -467,7 +467,7 @@ carousel.setCarouselListener(new CarouselListener() { } @Override - public void onClick(int position, @NotNull CarouselItem carouselItem) { + public void onClick(int position, @NotNull CarouselItem carouselItem, @NotNull Bitmap bitmap) { // ... } }); diff --git a/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/KotlinActivity.kt b/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/KotlinActivity.kt index 4d8cb65..48ebe58 100644 --- a/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/KotlinActivity.kt +++ b/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/KotlinActivity.kt @@ -2,6 +2,7 @@ package org.imaginativeworld.whynotimagecarousel.sample import android.content.Context import android.content.Intent +import android.graphics.Bitmap import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle @@ -112,10 +113,10 @@ class KotlinActivity : AppCompatActivity() { touchToPause = true carouselListener = object : CarouselListener { - override fun onClick(position: Int, carouselItem: CarouselItem) { + override fun onClick(position: Int, carouselItem: CarouselItem, bitmap: Bitmap) { Toast.makeText( this@KotlinActivity, - "You clicked at position ${position + 1}.", + "You clicked at position ${position + 1}.\nBitmap- ${bitmap.byteCount}", Toast.LENGTH_SHORT ) .show() diff --git a/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/SampleFragment.java b/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/SampleFragment.java index 87eb147..6d640ae 100644 --- a/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/SampleFragment.java +++ b/sample/src/main/java/org/imaginativeworld/whynotimagecarousel/sample/SampleFragment.java @@ -1,6 +1,7 @@ package org.imaginativeworld.whynotimagecarousel.sample; import android.content.Context; +import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; @@ -138,7 +139,7 @@ public void onLongClick(int position, @NotNull CarouselItem carouselItem) { } @Override - public void onClick(int position, @NotNull CarouselItem carouselItem) { + public void onClick(int position, @NotNull CarouselItem carouselItem, @NotNull Bitmap bitmap) { // ... } }); diff --git a/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/adapter/FiniteCarouselAdapter.kt b/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/adapter/FiniteCarouselAdapter.kt index 1a10028..5fedd52 100644 --- a/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/adapter/FiniteCarouselAdapter.kt +++ b/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/adapter/FiniteCarouselAdapter.kt @@ -6,6 +6,7 @@ import android.view.LayoutInflater import android.view.ViewGroup import android.view.ViewTreeObserver import android.widget.ImageView +import androidx.core.graphics.drawable.toBitmap import androidx.recyclerview.widget.RecyclerView import androidx.viewbinding.ViewBinding import org.imaginativeworld.whynotimagecarousel.databinding.ItemCarouselBinding @@ -80,7 +81,10 @@ open class FiniteCarouselAdapter( listener?.apply { holder.itemView.setOnClickListener { - this.onClick(realItemPosition, item) + + val drawable = holder.binding.img.drawable + val bitmap = drawable.toBitmap() + this.onClick(realItemPosition, item, bitmap) } holder.itemView.setOnLongClickListener { diff --git a/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/listener/CarouselListener.kt b/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/listener/CarouselListener.kt index 5f52be9..e51d23a 100644 --- a/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/listener/CarouselListener.kt +++ b/whynotimagecarousel/src/main/java/org/imaginativeworld/whynotimagecarousel/listener/CarouselListener.kt @@ -1,5 +1,6 @@ package org.imaginativeworld.whynotimagecarousel.listener +import android.graphics.Bitmap import android.view.LayoutInflater import android.view.ViewGroup import androidx.viewbinding.ViewBinding @@ -34,7 +35,7 @@ interface CarouselListener { * @param position Data item position. * @param carouselItem Data item of the clicked view. */ - fun onClick(position: Int, carouselItem: CarouselItem) {} + fun onClick(position: Int, carouselItem: CarouselItem,bitmap: Bitmap) {} /** * When an item view is long clicked it will be invoked.