这是我的MainActivity
public class MainActivity extends SherlockActivity implements ActionBar.OnNavigationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.Theme_Sherlock_Light_DarkActionBar); //Used for theme switching in samples
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Hide title bar
getSupportActionBar().setDisplayShowTitleEnabled(false);
//Enable home button
getSupportActionBar().setHomeButtonEnabled(true);
//Home as up display
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//Sliding menu
SlidingMenu menu = new SlidingMenu(getBaseContext());
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.slide_menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
//should be something in here that makes it slide to the left
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Used to put dark icons on light action bar
//boolean isLight = SampleList.THEME == R.style.Theme_Sherlock_Light;
menu.add("New")
.setIcon(R.drawable.contentnew)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add("Search")
.setIcon(R.drawable.actionsearch)
.setActionView(R.layout.collapsible_edittext)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
getSupportMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
我想设置单击主页按钮时,它会向左滑动。事实上,我无法在jfeinstein10的项目中扩展SlidingFragmentActivity
个例子,因为我已经扩展了SherlockActivity
。我怎样才能做到这一点?
答案 0 :(得分:2)
你需要从SlidingFragmentActivity扩展,如果你不这样做,你甚至不能调用切换或设置菜单片段。如果你从SFA扩展它将是这样的:
case android.R.id.home:
toggle();
return true;
答案 1 :(得分:2)
您需要在SlidingMenu代码中进行更改。让SlidingFragmentActivity
延长SherlockFragmentActivity
。然后将ActionBarSherlock作为库项目添加到SlidingMenu。现在你的项目只需要添加SlidingMenu作为库项目,因为它引用了ActionBarSherlock。
引自https://github.com/jfeinstein10/SlidingMenu#setup-with-actionbarsherlock:
使用ActionBarSherlock进行设置
- 如上设置。
- 签出ActionBarSherlock的干净副本并导入Eclipse工作区。
- 将ActionBarSherlock添加为SlidingMenu
的依赖项- 进入您计划使用的SlidingActivities,使其延伸
Sherlock___Activity
而不是___Activity
。