From 3b5f8a35abc761e204520f0886d62e733335fc45 Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Fri, 14 Sep 2018 13:21:00 +0300 Subject: [PATCH] Make card view dismissable with swip --- .../nearby/NearbyNoificationCardView.java | 32 +++++++++++++++++-- .../res/layout/fragment_contributions.xml | 4 +-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java index 1d85ada0c..97105bb61 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java @@ -3,6 +3,8 @@ package fr.free.nrw.commons.nearby; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.design.widget.CoordinatorLayout; +import android.support.design.widget.SwipeDismissBehavior; import android.support.v7.widget.CardView; import android.util.AttributeSet; import android.util.Log; @@ -65,10 +67,36 @@ public class NearbyNoificationCardView extends CardView{ notificationIcon = rootView.findViewById(R.id.nearby_icon); setActionListeners(); - - Log.d("deneme2",context.toString()); } + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + // Add swipe and dismiss property + SwipeDismissBehavior swipeDismissBehavior = new SwipeDismissBehavior(); + swipeDismissBehavior.setSwipeDirection(SwipeDismissBehavior.SWIPE_DIRECTION_ANY); + swipeDismissBehavior.setListener(new SwipeDismissBehavior.OnDismissListener() { + @Override + public void onDismiss(View view) { + /** + * Only dismissing view results a space after dismissed view. Since, we need to + * make view invisible at all. + */ + NearbyNoificationCardView.this.setVisibility(GONE); + + // Save shared preference for nearby card view accordingly + } + + @Override + public void onDragStateChanged(int state) { + + } + }); + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) this.getLayoutParams(); + layoutParams.setBehavior(swipeDismissBehavior); + } + + private void setActionListeners() { permissionRequestButton.setOnClickListener(new OnClickListener() { @Override diff --git a/app/src/main/res/layout/fragment_contributions.xml b/app/src/main/res/layout/fragment_contributions.xml index d241f1041..02fd8d90e 100644 --- a/app/src/main/res/layout/fragment_contributions.xml +++ b/app/src/main/res/layout/fragment_contributions.xml @@ -5,7 +5,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical"> - @@ -17,7 +17,7 @@ > - +