Skip to content

Commit 56c2ffe

Browse files
author
jfeinstein10
committed
Adjusting behind visibility better
1 parent dfa5fb6 commit 56c2ffe

5 files changed

Lines changed: 38 additions & 16 deletions

File tree

example/res/layout/nested_menu.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

example/src/com/slidingmenu/example/LeftAndRightActivity.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@ public void onCreate(Bundle savedInstanceState) {
3737
@Override
3838
public void onOpened() {
3939
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
40-
getSlidingMenu().getMenu().setVisibility(View.GONE);
4140
}
4241
});
4342
mRight.setOnClosedListener(new OnClosedListener() {
4443
@Override
4544
public void onClosed() {
4645
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
47-
getSlidingMenu().getMenu().setVisibility(View.VISIBLE);
4846
}
4947
});
5048

library/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<uses-sdk
88
android:minSdkVersion="5"
9-
android:targetSdkVersion="16" />
9+
android:targetSdkVersion="17" />
1010

1111
<application>
1212
<uses-library android:name="com.google.android.maps" />

library/src/com/slidingmenu/lib/CustomViewAbove.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -914,14 +914,17 @@ public void scrollTo(int x, int y) {
914914
super.scrollTo(x, y);
915915
mScrollX = x;
916916
if (mCustomViewBehind != null && mEnabled) {
917+
int vis = View.VISIBLE;
917918
if (mMode == SlidingMenu.LEFT) {
919+
if (x >= getContentLeft()) vis = View.GONE;
918920
mCustomViewBehind.scrollTo((int)((x + getBehindWidth())*mScrollScale), y);
919921
} else if (mMode == SlidingMenu.RIGHT) {
920-
// TODO right!
922+
if (x <= getContentLeft()) vis = View.GONE;
921923
mCustomViewBehind.scrollTo((int)(getBehindWidth() - getWidth() +
922924
(x-getBehindWidth())*mScrollScale), y);
923925
}
924-
}
926+
mCustomViewBehind.setVisibility(vis);
927+
}
925928
if (mShadowDrawable != null || mSelectorDrawable != null)
926929
invalidate();
927930
}
@@ -935,7 +938,7 @@ private int determineTargetPage(float pageOffset, int velocity, int deltaX) {
935938
// targetPage += velocity > 0 ? 0: 1;
936939
// }
937940
} else {
938-
targetPage = (int) (mCurItem + pageOffset + 0.5f);
941+
targetPage = (int) Math.round(mCurItem + pageOffset);
939942
}
940943
return targetPage;
941944
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.slidingmenu.lib;
2+
3+
import android.graphics.Canvas;
4+
import android.graphics.drawable.Drawable;
5+
import android.view.View;
6+
7+
public abstract class MenuInterface {
8+
9+
public abstract void scrollBehindTo(int x, int y,
10+
CustomViewBehind cvb, float scrollScale);
11+
12+
public abstract int getMenuLeft(CustomViewBehind cvb, View content);
13+
14+
public abstract int getAbsLeftBound(CustomViewBehind cvb, View content);
15+
16+
public abstract int getAbsRightBound(CustomViewBehind cvb, View content);
17+
18+
public abstract boolean marginTouchAllowed(View content, int x, int threshold);
19+
20+
public abstract boolean menuOpenTouchAllowed(View content, int x);
21+
22+
public abstract boolean menuClosedSlideAllowed(int x);
23+
24+
public abstract boolean menuOpenSlideAllowed(int x);
25+
26+
public abstract void drawShadow(Canvas canvas, Drawable shadow, int width);
27+
28+
public abstract void drawFade(Canvas canvas, int alpha,
29+
CustomViewBehind cvb, View content);
30+
31+
}

0 commit comments

Comments
 (0)