Android 如何打开按钮上的滑动菜单';点击事件?
我用这个实现了滑动菜单。现在,如果我在Android 如何打开按钮上的滑动菜单';点击事件?,android,onclick,slidingmenu,buttonclick,Android,Onclick,Slidingmenu,Buttonclick,我用这个实现了滑动菜单。现在,如果我在onCreate()方法中使用这段代码,它就工作得非常好 我的简单问题是如何在按钮的单击事件上打开滑块 我使用了以下代码 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC
onCreate()
方法中使用这段代码,它就工作得非常好
我的简单问题是如何在按钮的单击事件上打开滑块
我使用了以下代码
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SlidingMenu menu = new SlidingMenu(this);
Button mButton = (Button) findViewById(R.id.slidingMenu);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
menu.setMode(SlidingMenu.RIGHT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.5f);
menu.attachToActivity(MainActivity.this,
SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.activity_menu);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
但当我点击一个按钮时,滑动菜单并没有打开。我没有得到任何错误。如何执行此操作?您应该在单击侦听器之前设置菜单。在代码段中,每次单击按钮时都可以设置并附加菜单。但是,您应该只显示菜单,而不在单击时附加它
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.RIGHT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.5f);
menu.attachToActivity(MainActivity.this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.activity_menu);
Button mButton = (Button) findViewById(R.id.slidingMenu);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
menu.showMenu();
//or
//menu.toggle();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
请尝试在按钮中单击“切换”()菜单。如果菜单未打开,它将打开该菜单……或者如果您只想打开菜单,而不想切换它,它将打开
menu.showMenu()
。您还应该将OnClickListener中的所有设置方法移到OnClickListener之外。但是如果我使用菜单.showMenu
或菜单.toggle()
,那么我会遇到类似java.lang.IllegalStateException的错误:此滑动菜单似乎已经被附加在菜单.showMenu
或菜单.toggle()之后
我需要清除任何东西吗。@CodeError,链接已断开。@InnocentKiller先生。我已经修复了错误。这是一个小问题。这就是删除的原因。感谢您的关注(y)。快乐编码:)