diff --git a/ResideMenu/res/layout/residemenu.xml b/ResideMenu/res/layout/residemenu.xml index 75caff7..7c6c8db 100644 --- a/ResideMenu/res/layout/residemenu.xml +++ b/ResideMenu/res/layout/residemenu.xml @@ -21,7 +21,7 @@ android:id="@+id/sv_left_menu" android:scrollbars="none" android:paddingLeft="30dp" - android:layout_width="150dp" + android:layout_width="wrap_content" android:layout_height="fill_parent"> 50) { - pressedState = PRESSED_MOVE_HORIZANTAL; + pressedState = PRESSED_MOVE_HORIZONTAL; ev.setAction(MotionEvent.ACTION_CANCEL); } - } else if(pressedState == PRESSED_MOVE_HORIZANTAL) { + } else if(pressedState == PRESSED_MOVE_HORIZONTAL) { if (currentActivityScaleX < 0.95) - showScrollViewMenu(scrollViewMenu); + showMenu(showingMenuView); float targetScale = getTargetScale(ev.getRawX()); ViewHelper.setScaleX(viewActivity, targetScale); ViewHelper.setScaleY(viewActivity, targetScale); ViewHelper.setScaleX(imageViewShadow, targetScale + shadowAdjustScaleX); ViewHelper.setScaleY(imageViewShadow, targetScale + shadowAdjustScaleY); - ViewHelper.setAlpha(scrollViewMenu, (1 - targetScale) * 2.0f); + ViewHelper.setAlpha(showingMenuView, (1 - targetScale) * 2.0f); lastRawX = ev.getRawX(); return true; @@ -542,7 +546,7 @@ public boolean dispatchTouchEvent(MotionEvent ev) { case MotionEvent.ACTION_UP: if (isInIgnoredView) break; - if (pressedState != PRESSED_MOVE_HORIZANTAL) break; + if (pressedState != PRESSED_MOVE_HORIZONTAL) break; pressedState = PRESSED_DONE; if (isOpened()){ @@ -592,15 +596,23 @@ public interface OnMenuListener{ public void closeMenu(); } - private void showScrollViewMenu(ScrollView scrollViewMenu){ - if (scrollViewMenu != null && scrollViewMenu.getParent() == null){ - addView(scrollViewMenu); + private void showMenu(View menuView){ + if (menuView != null && menuView.getParent() == null){ + addView(menuView); } } - private void hideScrollViewMenu(ScrollView scrollViewMenu){ - if (scrollViewMenu != null && scrollViewMenu.getParent() != null){ - removeView(scrollViewMenu); + private void hideMenu(View menuView){ + if (menuView != null && menuView.getParent() != null){ + removeView(menuView); } } + + public void setLeftMenuView(View menuView){ + this.leftMenuView = menuView; + } + + public void setRightMenuView(View menuView){ + this.rightMenuView = menuView; + } } diff --git a/ResideMenuDemo/res/layout/left_menu.xml b/ResideMenuDemo/res/layout/left_menu.xml new file mode 100644 index 0000000..53b99ca --- /dev/null +++ b/ResideMenuDemo/res/layout/left_menu.xml @@ -0,0 +1,13 @@ + + + + +