I have created a horizontal recyclerview that shows images taken by a user. These images are center cropped and are displayed using Glide. How can I achieve a slow zoom out while the user is viewing the displayed image.
Please refer to this as an example: https://dribbble.com/shots/8582397-Nomad-iOS-UI-Kit-Favorite-Places
UPDATE:
public class HorizontalGalleryRecyclerViewAdapter extends RecyclerView.Adapter < HorizontalGalleryRecyclerViewAdapter.MyViewHolder > {
private Context mContext;
private ArrayList < ImageItems > arrayList;
public long Last_position;
private HorizontalGalleryRecyclerViewAdapter.onItemCLickListener mListener;
public interface onItemCLickListener {
void onItemClick(int mPosition);
}
public void setOnItemClickListener(HorizontalGalleryRecyclerViewAdapter.onItemCLickListener listener) {
mListener = listener;
}
public HorizontalGalleryRecyclerViewAdapter(Context context, ArrayList < ImageItems > arrayList) {
this.mContext = context;
this.arrayList = arrayList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new MyViewHolder((LayoutInflater.from(mContext).inflate(R.layout.horizontal_gallery_recycleriew_item, parent, false)), mListener);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
Glide.with(mContext)
.load(arrayList.get(position).ImagePath)
.placeholder(R.drawable.background_gallery_placeholder)
.error(R.drawable.background_gallery_placeholder)
.thumbnail(0.5 f).into(holder.img);
Last_position = position;
}
@Override
public int getItemCount() {
return arrayList.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
public RoundedImageView img;
public MyViewHolder(View view, final HorizontalGalleryRecyclerViewAdapter.onItemCLickListener listener) {
super(view);
img = view.findViewById(R.id.horizontal_img);
img.setScaleX(1.1 f);
img.setScaleY(1.1 f);
img.animate().setDuration(3 _000).setStartDelay(1 _000)
.setInterpolator(new AccelerateDecelerateInterpolator())
.scaleX(1).scaleY(1).start();
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (listener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
listener.onItemClick(getAdapterPosition());
}
}
}
});
}
}
}