From e25bbece7139c70d6115f29b1fbce1b7ac543455 Mon Sep 17 00:00:00 2001 From: zhaotengfei Date: Sat, 29 Aug 2015 12:40:49 +0800 Subject: [PATCH 01/21] modify reademe --- README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 380c9b5..ce41c57 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Features: * Only the right menu - ![](https://github.com/flyfei/CustomMenu/blob/master/resources/only_right_menu.gif) + ![](https://github.com/flyfei/CustomMenu/blob/master/resources/only_right_menu.gif) * Together with the right and left menu @@ -54,3 +54,25 @@ customMenu.setRightMenu(rightMenu); ## Feedback If you have any questions,please emailto:zhaotengfei9@gmail.com + + + +## Thanks + +[designzway](http://freebies.designzway.com/) + + +## Copyright and Licensing + + +``` +The MIT License (MIT) + +Copyright © 2015 Tovi + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` \ No newline at end of file From e9263e71c383c71d5c2abe135c09300cb51be906 Mon Sep 17 00:00:00 2001 From: zhaotengfei Date: Sat, 29 Aug 2015 12:44:30 +0800 Subject: [PATCH 02/21] modify file --- README.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ce41c57..5435939 100644 --- a/README.md +++ b/README.md @@ -70,9 +70,20 @@ The MIT License (MIT) Copyright © 2015 Tovi -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` \ No newline at end of file From 70f7f7ecde355faa0e6b4d52d56431f2424ffec9 Mon Sep 17 00:00:00 2001 From: Huqiu Liao Date: Sat, 29 Aug 2015 03:51:09 -0400 Subject: [PATCH 03/21] Fix #3 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5435939..8de1fee 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Android Gems](http://www.android-gems.com/badge/flyfei/CustomMenu.svg?branch=master)](http://www.android-gems.com/lib/flyfei/CustomMenu) + CustomMenu is a custom control that can help you quickly create Menu Features: From a7d9fc7bc2a2328fb765d2cc07bba1cd0bfb4fe9 Mon Sep 17 00:00:00 2001 From: zhaotengfei Date: Sun, 30 Aug 2015 01:13:08 +0800 Subject: [PATCH 04/21] add test method for open or close menu --- .../com/tovi/custommenu/MainActivity.java | 11 +++++-- library/src/main/java/cn/tovi/CustomMenu.java | 33 +++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tovi/custommenu/MainActivity.java b/app/src/main/java/com/tovi/custommenu/MainActivity.java index 2dd71e4..2fe7d92 100644 --- a/app/src/main/java/com/tovi/custommenu/MainActivity.java +++ b/app/src/main/java/com/tovi/custommenu/MainActivity.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.os.Bundle; +import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; @@ -9,7 +10,7 @@ import cn.tovi.CustomMenu; public class MainActivity extends Activity { - + CustomMenu customMenu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -22,11 +23,17 @@ protected void onCreate(Bundle savedInstanceState) { WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); - CustomMenu customMenu = new CustomMenu(this); + customMenu = new CustomMenu(this); //设置中间布局 ImageView contentView = new ImageView(this); contentView.setBackgroundResource(R.drawable.main_view); + contentView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + customMenu.openLeftMenuIfPossible(); + } + }); customMenu.setContentView(contentView); //设置左菜单 diff --git a/library/src/main/java/cn/tovi/CustomMenu.java b/library/src/main/java/cn/tovi/CustomMenu.java index 7829c80..4455207 100644 --- a/library/src/main/java/cn/tovi/CustomMenu.java +++ b/library/src/main/java/cn/tovi/CustomMenu.java @@ -92,6 +92,39 @@ public void setRightMenu(@LayoutRes int resid) { setRightMenu(LayoutInflater.from(getContext()).inflate(resid, null)); } + public void openLeftMenuIfPossible() { + if (leftMenu != null) { + // If the view is rolling, stop + if (mScroller.computeScrollOffset()) { + mScroller.forceFinished(true); + } + if (getScrollX() != -leftMenu.getMeasuredWidth()) + mScroller.startScroll(getScrollX(), 0, -leftMenu.getMeasuredWidth() - getScrollX(), 0); +// scrollTo(-leftMenu.getMeasuredWidth() - getScrollX(), 0); + } + } + + public void openRightMenuIfPossible() { + if (rightMenu != null) { + // If the view is rolling, stop + if (mScroller.computeScrollOffset()) { + mScroller.forceFinished(true); + } + if (getScrollX() != rightMenu.getMeasuredWidth()) + mScroller.startScroll(getScrollX(), 0, rightMenu.getMeasuredWidth() - getScrollX(), 0); +// scrollTo(rightMenu.getMeasuredWidth() - getScrollX(), 0); + } + } + + public void closeMenu() { + // If the view is rolling, stop + if (mScroller.computeScrollOffset()) { + mScroller.forceFinished(true); + } + if (getScrollX() != 0) + scrollTo(rightMenu.getMeasuredWidth() - getScrollX(), 0); + } + public void setRightMenu(View view) { initRightMenu(); if (view != null) { From ec92420e3e1a62ef794874d3263a6ac204207f3f Mon Sep 17 00:00:00 2001 From: zhaotengfei Date: Sun, 30 Aug 2015 16:19:44 +0800 Subject: [PATCH 05/21] add open or close menu --- .../com/tovi/custommenu/MainActivity.java | 58 +++++- app/src/main/res/drawable/btn_left.png | Bin 0 -> 10621 bytes app/src/main/res/drawable/btn_right.png | Bin 0 -> 10363 bytes app/src/main/res/layout/activity_main.xml | 29 ++- library/src/main/java/cn/tovi/CustomMenu.java | 180 +++++++++++++----- 5 files changed, 207 insertions(+), 60 deletions(-) create mode 100644 app/src/main/res/drawable/btn_left.png create mode 100644 app/src/main/res/drawable/btn_right.png diff --git a/app/src/main/java/com/tovi/custommenu/MainActivity.java b/app/src/main/java/com/tovi/custommenu/MainActivity.java index 2fe7d92..27052e2 100644 --- a/app/src/main/java/com/tovi/custommenu/MainActivity.java +++ b/app/src/main/java/com/tovi/custommenu/MainActivity.java @@ -2,6 +2,8 @@ import android.app.Activity; import android.os.Bundle; +import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; @@ -9,8 +11,12 @@ import cn.tovi.CustomMenu; -public class MainActivity extends Activity { +public class MainActivity extends Activity{ + + private static final String TAG = MainActivity.class.getSimpleName(); + CustomMenu customMenu; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -28,13 +34,25 @@ protected void onCreate(Bundle savedInstanceState) { //设置中间布局 ImageView contentView = new ImageView(this); contentView.setBackgroundResource(R.drawable.main_view); - contentView.setOnClickListener(new View.OnClickListener() { + contentView.setOnTouchListener(new View.OnTouchListener() { @Override - public void onClick(View v) { - customMenu.openLeftMenuIfPossible(); + public boolean onTouch(View v, MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + if (event.getY() < 300) { + + if (event.getX() <= v.getMeasuredWidth() / 2) { + leftMenu(); + }else{ + rightMenu(); + } + return true; + } + } + return false; } }); - customMenu.setContentView(contentView); + customMenu.setContentView(R.layout.activity_main); + //设置左菜单 ImageView leftMenu = new ImageView(this); @@ -48,4 +66,34 @@ public void onClick(View v) { setContentView(customMenu); } + + private void leftMenu() { + if (customMenu.getState() == CustomMenu.State.CLOSE_MENU) { + customMenu.openLeftMenuIfPossible(); + } else if (customMenu.getState() == CustomMenu.State.LEFT_MENU_OPENS) { + customMenu.closeMenu(); + } else { + Log.e(TAG, "CustomMenu State:" + customMenu.getState()); + } + } + + private void rightMenu() { + if (customMenu.getState() == CustomMenu.State.CLOSE_MENU) { + customMenu.openRightMenuIfPossible(); + } else if (customMenu.getState() == CustomMenu.State.RIGHT_MENU_OPENS) { + customMenu.closeMenu(); + } else { + Log.e(TAG, "CustomMenu State:" + customMenu.getState()); + } + } + public void onClick(View view){ + switch (view.getId()){ + case R.id.left_menu: + leftMenu(); + break; + case R.id.right_menu: + rightMenu(); + break; + } + } } diff --git a/app/src/main/res/drawable/btn_left.png b/app/src/main/res/drawable/btn_left.png new file mode 100644 index 0000000000000000000000000000000000000000..7499799d4b63481f8bdf347742272ea405334ebc GIT binary patch literal 10621 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 Z8vq?|35S~GOF{qu002ovPDHLkV1l9l=9K^d literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f7158b8..2bad6c5 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,11 +1,26 @@ + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@drawable/main_view" + tools:context=".MainActivity"> - +