title: Swipe to show another hidden layout in recycler view android
body: <p>I have a recycler view in which i want to show another layout on swiping item view which is hidden behind the current layout. In short i want to achieve something like below image.</p>
  
  <p><a href="https://i.stack.imgur.com/zlNjt.gif" rel="noreferrer"><img src="https://i.stack.imgur.com/zlNjt.gif" alt="enter image description here"></a></p>
  
  <p>The problem with my code is that the the whole view is swiped, but i want to swipe only to the width of the hidden layout.</p>
  
  <p>Code in Activity</p>
  
  <pre><code>final ItemTouchHelper.Callback simpleItemTouchCallback = new ItemTouchHelper.Callback() {
              @Override
              public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
                  if (viewHolder.getAdapterPosition() &lt; target.getAdapterPosition()) {
                      for (int i = viewHolder.getAdapterPosition(); i &lt; target.getAdapterPosition(); i++) {
                          Collections.swap(myDataset, i, i + 1);
                      }
                  } else {
                      for (int i = viewHolder.getAdapterPosition(); i &gt; target.getAdapterPosition(); i--) {
                          Collections.swap(myDataset, i, i - 1);
                      }
                  }
                  mAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
                  return true;
              }
  
              @Override
              public boolean isLongPressDragEnabled() {
                  return true;
              }
              @Override
              public boolean isItemViewSwipeEnabled() {
                  return true;
              }
              @Override
              public void onSwiped(final RecyclerView.ViewHolder viewHolder, final int swipeDir) {
  
              }
  
              @Override
              public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
                  View itemView = viewHolder.itemView;
                  ImageView delete_image=(ImageView) itemView.findViewById(R.id.delete_image);
                  delete_image.setY(itemView.getTop());
                  if(isCurrentlyActive) {
                      delete_image.setVisibility(View.VISIBLE);
                  }else{
                      delete_image.setVisibility(View.GONE);
                  }
                  super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
              }
  
              @Override
              public int getMovementFlags(RecyclerView recyclerView,
                                          RecyclerView.ViewHolder viewHolder) {
                  int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
                  int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
                  return makeMovementFlags(dragFlags, swipeFlags);
              }
          };
  
  
  ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
          itemTouchHelper.attachToRecyclerView(mRecyclerView);
  </code></pre>
  
  <p>Custom Layout for recylerview item</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:fresco="http://schemas.android.com/apk/res-auto"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
  
      android:paddingBottom="@dimen/padding_xsmall"&gt;
  
      &lt;LinearLayout
          android:id="@+id/top_layout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:background="@color/very_light_grey"
          android:orientation="horizontal"
          android:paddingBottom="@dimen/padding_xlarge"
          android:paddingEnd="@dimen/padding_small"
          android:paddingLeft="@dimen/padding_xlarge"
          android:paddingRight="@dimen/padding_small"
          android:paddingStart="@dimen/padding_xlarge"
          android:paddingTop="@dimen/padding_xlarge"&gt;
  
          &lt;com.facebook.drawee.view.SimpleDraweeView
              android:id="@+id/friend_image"
              android:layout_width="50dp"
              android:layout_height="50dp"
              android:layout_gravity="center_vertical"
              fresco:placeholderImage="@drawable/user_placeholder"
              fresco:roundAsCircle="true"
              fresco:roundedCornerRadius="50dp"
              fresco:roundingBorderColor="@android:color/white"
              fresco:roundingBorderWidth="2dp" /&gt;
  
          &lt;LinearLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:layout_marginEnd="@dimen/margin_small"
              android:layout_marginLeft="@dimen/margin_small"
              android:layout_marginRight="@dimen/margin_small"
              android:layout_marginStart="@dimen/margin_small"
              android:orientation="vertical"&gt;
  
              &lt;RelativeLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"&gt;
  
                  &lt;bi.it.com.bio.textview.CustomTextView
                      android:id="@+id/friend_name"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layout_alignParentLeft="true"
                      android:layout_alignParentStart="true"
                      android:layout_toLeftOf="@+id/badge_text"
                      android:text="John"
                      android:textSize="@dimen/text_size_medium" /&gt;
  
                  &lt;bi.it.com.bio.textview.CustomTextView
                      android:id="@+id/badge_text"
                      android:layout_width="16dp"
                      android:layout_height="16dp"
                      android:layout_alignParentRight="true"
                      android:background="@drawable/badgeicon"
                      android:gravity="center"
                      android:text="24"
                      android:textColor="@android:color/white"
                      android:textSize="@dimen/text_size_xxsmall" /&gt;
              &lt;/RelativeLayout&gt;
  
              &lt;bi.it.com.bio.textview.CustomTextView
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="this is message from john"
                  android:textSize="@dimen/text_size_xsmall" /&gt;
  
          &lt;/LinearLayout&gt;
  
      &lt;/LinearLayout&gt;
  
      &lt;ImageView
          android:id="@+id/delete_image"
          android:paddingLeft="@dimen/padding_large"
          android:paddingStart="@dimen/padding_large"
          android:paddingEnd="@dimen/padding_large"
          android:paddingRight="@dimen/padding_large"
          android:paddingTop="@dimen/padding_small"
          android:paddingBottom="@dimen/padding_small"
          android:layout_width="wrap_content"
          android:layout_height="match_parent"
          android:background="@color/red_color_list"
          android:src="@drawable/ic_delete_frd"
          android:layout_gravity="end|right"
          android:visibility="gone"/&gt;
  
  &lt;/FrameLayout&gt;
  </code></pre>
  
  <p>I do not want to use any library. Any help is really appreciated.
  Thanks in advance.</p>