public void closeAllLayout() { if (mUnClosedLayouts.size() == 0) return; for (SwipeLayout l : mUnClosedLayouts) { l.close(true, false); } mUnClosedLayouts.clear(); }
@Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder mHolder; if (convertView != null) { mHolder = (ViewHolder) convertView.getTag(); } else { convertView = (SwipeLayout) mInflater.inflate(R.layout.list_item_swipe, null); mHolder = ViewHolder.fromValues(convertView); convertView.setTag(mHolder); } SwipeLayout view = (SwipeLayout) convertView; view.close(false, false); view.getFrontView() .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { Utils.showToast(mContext, "item click: " + position); } }); view.setSwipeListener(mSwipeListener); mHolder.mImage.setImageResource(HEAD_IDS[position % HEAD_IDS.length]); mHolder.mName.setText(NAMES[position % NAMES.length]); mHolder.mButtonCall.setTag(position); mHolder.mButtonCall.setOnClickListener(onActionClick); mHolder.mButtonDel.setTag(position); mHolder.mButtonDel.setOnClickListener(onActionClick); TextView mUnreadView = mHolder.mReminder; boolean visiable = !mRemoved.contains(position); mUnreadView.setVisibility(visiable ? View.VISIBLE : View.GONE); if (visiable) { mUnreadView.setText(String.valueOf(position)); mUnreadView.setTag(position); GooViewListener mGooListener = new GooViewListener(mContext, mUnreadView) { @Override public void onDisappear(PointF mDragCenter) { super.onDisappear(mDragCenter); mRemoved.add(position); notifyDataSetChanged(); Utils.showToast(mContext, "Cheers! We have get rid of it!"); } @Override public void onReset(boolean isOutOfRange) { super.onReset(isOutOfRange); notifyDataSetChanged(); Utils.showToast(mContext, isOutOfRange ? "Are you regret?" : "Try again!"); } }; mUnreadView.setOnTouchListener(mGooListener); } ViewHelper.setRotationX(view, 60); ViewPropertyAnimator.animate(view) .rotationX(0) .setDuration(600) .setInterpolator(new OvershootInterpolator(8)) .start(); ViewHelper.setScaleX(view, 0.4f); ViewPropertyAnimator.animate(view) .scaleX(1f) .setDuration(600) .setInterpolator(new OvershootInterpolator(8)) .start(); return view; }