From 1184b076cda15de33bd13beb14ac134a9fc659a3 Mon Sep 17 00:00:00 2001 From: xubinggui Date: Sun, 15 Mar 2015 19:15:52 +0800 Subject: [PATCH] hide FeedContextMenu when click outside of FeedContextMenu --- .../froger/instamaterial/ui/activity/BaseActivity.java | 8 ++++++++ .../instamaterial/ui/view/FeedContextMenuManager.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/froger/instamaterial/ui/activity/BaseActivity.java b/app/src/main/java/io/github/froger/instamaterial/ui/activity/BaseActivity.java index 6eeee4c..506b237 100644 --- a/app/src/main/java/io/github/froger/instamaterial/ui/activity/BaseActivity.java +++ b/app/src/main/java/io/github/froger/instamaterial/ui/activity/BaseActivity.java @@ -7,6 +7,7 @@ import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; +import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; @@ -16,6 +17,7 @@ import io.github.froger.instamaterial.ui.utils.DrawerLayoutInstaller; import io.github.froger.instamaterial.R; import io.github.froger.instamaterial.Utils; +import io.github.froger.instamaterial.ui.view.FeedContextMenuManager; import io.github.froger.instamaterial.ui.view.GlobalMenuView; /** @@ -101,4 +103,10 @@ public void run() { } }, 200); } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + FeedContextMenuManager.getInstance().hideContextMenu(); + return super.dispatchTouchEvent(ev); + } } diff --git a/app/src/main/java/io/github/froger/instamaterial/ui/view/FeedContextMenuManager.java b/app/src/main/java/io/github/froger/instamaterial/ui/view/FeedContextMenuManager.java index 059b9c9..fc56dd2 100644 --- a/app/src/main/java/io/github/froger/instamaterial/ui/view/FeedContextMenuManager.java +++ b/app/src/main/java/io/github/froger/instamaterial/ui/view/FeedContextMenuManager.java @@ -90,7 +90,7 @@ public void onAnimationEnd(Animator animation) { } public void hideContextMenu() { - if (!isContextMenuDismissing) { + if (!isContextMenuDismissing && contextMenuView != null) { isContextMenuDismissing = true; performDismissAnimation(); }