Android 实施jeremy feinstein';s滑动菜单
我正在尝试使用Jeremy Feinstein的滑动菜单库开发一个应用程序。我所做的一切都是按照Github说明中描述的正确方式进行的。一切都很好,但问题是,当我点击操作栏主页按钮打开滑块时,它覆盖了整个屏幕。我希望它半开,就像在Facebook应用程序中的Facebook滑块一样。我的代码如下:Android 实施jeremy feinstein';s滑动菜单,android,android-sliding,Android,Android Sliding,我正在尝试使用Jeremy Feinstein的滑动菜单库开发一个应用程序。我所做的一切都是按照Github说明中描述的正确方式进行的。一切都很好,但问题是,当我点击操作栏主页按钮打开滑块时,它覆盖了整个屏幕。我希望它半开,就像在Facebook应用程序中的Facebook滑块一样。我的代码如下: public class MainActivity extends SlidingFragmentActivity { @Override public void onCreate(Bundle s
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Hide title bar
getSupportActionBar().setDisplayShowTitleEnabled(true);
//Enable home button
getSupportActionBar().setHomeButtonEnabled(true);
//Home as up display
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
setBehindContentView(R.layout.menu_frame);
//SlidingMenu menu=getSlidingMenu();
SlidingMenu menu=new SlidingMenu(this);
//menu = new SlidingMenu(MainActivity.this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
setSlidingActionBarEnabled(true);
menu.setShadowWidth(5);
menu.setFadeDegree(0.0f);
menu.attachToActivity(MainActivity.this, SlidingMenu.SLIDING_CONTENT);
menu.setBehindWidth(10);
menu.setBehindOffset(10);
menu.setBehindScrollScale(0.25f);
menu.setMenu(R.layout.menu_frame);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
toggle();
return true;
}
return super.onOptionsItemSelected(item);
}
}
您可以使用
behindfset
、behindWidth
或touchmodeover
。
如果将其用作视图,则可以(在布局文件中)执行此操作:
进一步解释
touchmodeover
-一个枚举,指定在显示上述视图时屏幕的哪个部分是可触摸的。边距仅表示左侧边距。全屏是指整个屏幕。违约是保证金
behindOffset
-表示在显示后视图时希望上面视图显示的像素数的尺寸。默认值为0
behindWidth
-表示后视图宽度的尺寸。默认值是屏幕的宽度(相当于behindOffset=0)。在代码中:
//SlidingMenu=getSlidingMenu()滑动菜单=新的滑动菜单(本) 只需删除第一行中的//即可,因为此时您需要一个实例化的OBJETC 删除第二行,仅此而已。 在第二行中,您正在实例化一个新对象,这并不是必需的……一旦设置为内容视图之后,滑动菜单对象就会实例化
我也遇到了同样的问题,并通过这种方式解决了这个问题。非常感谢Mark的回答。我在代码中使用了它,现在它的工作很好。
sliding:behindOffset="@dimen/YOUR_OFFSET"
sliding:behindWidth="@dimen/YOUR_WIDTH"
sliding:touchModeAbove="margin"