我在android项目中工作,我使用Sliding菜单库和ActionbarSherlock库实现了Sliding Menu。一切都很好。但我面临的是:最初我的滑动菜单设置为应用程序启动时的宽度50。当我点击菜单而不是以全屏模式打开时,它会关闭,再次单击菜单后会全屏打开。这是我的第一个问题。
第二件事是,当我关闭滑动菜单时,它没有接近我固定的原始宽度,我将其设置为50,正如我在上面的问题中描述的那样。所以我在这里遇到了这两个问题并尝试了很多但没有结果。
这是我的截图。
这里也是我的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar ab = getSupportActionBar();
ab.setHomeButtonEnabled(true);
ab.setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setIcon(R.drawable.header_img);
Drawable d = getResources().getDrawable(R.drawable.header_bg);
getSupportActionBar().setBackgroundDrawable(d);
menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
// menu.setShadowWidthRes(R.dimen.shadow_width);
// menu.setShadowDrawable(R.drawable.shadow);
// menu.setAboveOffsetRes(R.dimen.slidingmenu_offset_above);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
// int height = displaymetrics.heightPixels;
// int width = displaymetrics.widthPixels;
menu.setBehindWidth(50);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
menu.setMenu(R.layout.menu);
menu.setSlidingEnabled(true);
menu.setOnClosedListener(new OnClosedListener() {
@Override
public void onClosed() {
Log.e("", "onClosed");
menu.setBehindWidth(200);
}
});
menu.showMenu();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
menu.toggle();
return super.onOptionsItemSelected(item);
}