Open vishwasdoth opened 9 years ago
Still stuck with this...please help
try
slidingMenu.setBehindWidthRes(R.dimen.slidingmenu_offset_left);
not
slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset_left);
behindWidth
- a dimension representing the width of the behind view. Default is the width of the screen (equivalent to behindOffset = 0).
or reduce slidingmenu_offset_left
, because it isn't menu width
behindOffset
- a dimension representing the number of pixels that you want the above view to show when the behind view is showing. Default is 0.
behind view
is a actual menu
above view
is primary content
silmple:
behindOffset
is a left/right margin of menu
behindWidth
is a width of menu
No luck....I have updated library 2 days back. earlier I was doing following and it was working fine.
slidingMenu.setMode(SlidingMode.LEFT_RIGHT);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
slidingMenu.setShadowDrawable(R.drawable.sliding_menu_left_shadow, SlidingMode.LEFT);
slidingMenu.setShadowDrawable(R.drawable.sliding_menu_right_shadow, SlidingMode.RIGHT);
slidingMenu.setFadeDegree(0.05f);
slidingMenu.setShadowWidthRes(R.dimen.slidingmenuWidth);
slidingMenu.setBehindWidthRes(R.dimen.slidingmenuWidth_left, SlidingMode.LEFT);
slidingMenu.setBehindWidthRes(R.dimen.slidingmenuWidth_right, SlidingMode.RIGHT);
slidingMenu.setEnabled(false);
If you're using SlidingActivity
don't create new instance of SlidingMenu, one is already there...
In onCreate() you should add menu layout by calling setBehindContentView()
and get instance of sliding menu by calling getSlidingMenu ()
then set everything on this instance.
Ex:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.primary_layout);
setBehindContentView(R.layout.left_sliding_menu);
setSlidingActionBarEnabled(true);
SlidingMenu slidingMenu = getSlidingMenu();
slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
slidingMenu.setShadowDrawable(R.drawable.sliding_menu_left_shadow);
slidingMenu.setShadowWidthRes(R.dimen.shadow_width); //ex: 8dp
slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset_left); //ex: 50dp
slidingMenu.setFadeDegree(0.05f);
slidingMenu.setSecondaryMenu(R.layout.slidemenu_notification);
slidingMenu.setSecondaryShadowDrawable(R.drawable.sliding_menu_right_shadow);
}
@Fiddl3 thanks for your response. I am using absherlock with overlay for that I need to use slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT, true);
everything works perfect if I remove above mention line.
When you use library with ABS you should edit Sliding_Activity and make them extend Sherlock_Activity in a place of *Activity Example: https://github.com/jfeinstein10/SlidingMenu/blob/master/library/src/com/jeremyfeinstein/slidingmenu/lib/app/SlidingActivity.java#L11
change:
...
public class SlidingActivity extends Activity implements SlidingActivityBase {
...
to:
...
public class SlidingActivity extends SherlockActivity implements SlidingActivityBase {
...
And add import of SherlockActivity
Simillar in:
SlidingFragmentActivity
: FragmentActivity
--> SherlockFragmentActivity
SlidingListActivity
: ListActivity
--> SherlockListActivity
SlidingPreferenceActivity
: PreferenceActivity
--> SherlockPreferenceActivity
then Your Activity should be extended by Sliding*Activity
not Sherlock*Activity
Example:
public class MyActivity extends SlidingActivity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.primary_layout);
setBehindContentView(R.layout.left_sliding_menu);
setSlidingActionBarEnabled(true);
SlidingMenu slidingMenu = getSlidingMenu();
slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
slidingMenu.setShadowDrawable(R.drawable.sliding_menu_left_shadow);
slidingMenu.setShadowWidthRes(R.dimen.shadow_width); //ex: 8dp
slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset_left); //ex: 50dp
slidingMenu.setFadeDegree(0.05f);
slidingMenu.setSecondaryMenu(R.layout.slidemenu_notification);
slidingMenu.setSecondaryShadowDrawable(R.drawable.sliding_menu_right_shadow);
//your code here
}
...
}
Or don't extend MyActivity with SlidingActivity Example:
public class MyActivity extends SherlockActivity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.primary_layout);
SlidingMenu slidingMenu = new SlidingMenu(this);
slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
slidingMenu.setShadowDrawable(R.drawable.sliding_menu_left_shadow);
slidingMenu.setShadowWidthRes(R.dimen.shadow_width); //ex: 8dp
slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset_left); //ex: 50dp
slidingMenu.setFadeDegree(0.05f);
slidingMenu.setMenu(R.layout.menu);
slidingMenu.setSecondaryMenu(R.layout.slidemenu_notification);
slidingMenu.setSecondaryShadowDrawable(R.drawable.sliding_menu_right_shadow);
slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); //With ActionBar
}
...
}
This is how I am setting it up;
here are dimensions.