title: RecyclerView long tap drag to reorder wobble effect
body: <p>how to achieve wobble effect like <a href="https://i.stack.imgur.com/CTYhj.gif" rel="nofollow noreferrer">this</a> when long tapped on an item in a RecyclerView with GridLayoutManager and drag to reorder ,which working fine. And when dropped the item the effect should stop.</p>
  
  <p>This is my Adapter class</p>
  
  <pre><code>public class ClassGridAdapter extends RecyclerView.Adapter&lt;ClusterGridAdapter.ViewHolder&gt; implements ItemTouchHelperCluster {
  private ArrayList&lt;Class&gt; mClassList = new ArrayList&lt;&gt;();
  private Context mContext;
  
  public ClassGridAdapter(Context context, ArrayList&lt;Class&gt; mClusters) {
      this.mClassList = mClusters;
      this.mContext = context;
  }
  
  @Override
  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
      LayoutInflater inflater = LayoutInflater.from(mContext);
      View view = inflater.inflate(R.layout.grid_item, parent, false);
      return new ViewHolder(view);
  }
  
  @Override
  public void onBindViewHolder(final ViewHolder holder, final int position) {
      holder.mClusterName.setText(mClassList.get(position).getName());
      holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
          @Override
          public boolean onLongClick(View view) {
              mDragStartListener.onStartDrag(holder);
              return true;
          }
      });
  }
  
  @Override
  public int getItemCount() {
      return mClusters.size();
  }
  
  @Override
  public boolean onItemMove(int fromPosition, int toPosition) {
      Collections.swap(mClassList, fromPosition, toPosition);
      notifyItemMoved(fromPosition, toPosition);
      return true;
  }
  
  class ViewHolder extends RecyclerView.ViewHolder {
      TextView mClusterName;
      public ViewHolder(View itemView) {
          super(itemView);
          mClusterName = (TextView) itemView.findViewById(R.id.tv_cluster);
      }
  }
  </code></pre>
  
  <p>}</p>