0

我正在尝试使用 Jeremy Feinstein 的 SlidingMenu 库开发一个应用程序。我所做的一切都是按照 Github 说明中所述的正确方式完成的。一切运行良好,但问题是当我单击操作栏主页按钮打开滑块时,它会覆盖整个屏幕。我希望它像 Facebook 应用程序中的 Facebook 滑块一样半开。我的代码如下:

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);
}


}
4

2 回答 2

0

您可以使用behindOffset,behindWidthtouchModeAbove. 如果您将其用作视图,则可以这样做(在您的布局文件中):

sliding:behindOffset="@dimen/YOUR_OFFSET"
sliding:behindWidth="@dimen/YOUR_WIDTH"
sliding:touchModeAbove="margin"

进一步解释

touchModeAbove- 一个枚举,指定显示上述视图时屏幕的哪个部分是可触摸的。边距仅表示左边距。全屏是指整个屏幕。默认为边距。

behindOffset- 一个维度,表示您希望在显示后视图时显示上述视图的像素数。默认值为 0。

behindWidth- 表示后视图宽度的尺寸。默认是屏幕的宽度(相当于 behindOffset = 0)。

于 2013-04-20T06:09:33.910 回答
-2

在您的代码中:

// SlidingMenu menu=getSlidingMenu();
滑动菜单菜单=新滑动菜单(此);

只需在第一行删除//,因为此时您需要一个实例化的对象。

删除第二行,仅此而已。在第二行,您正在实例化一个新对象,这不是必需的....一旦您设置在内容视图后面,滑动菜单对象就会实例化。

我遇到了同样的问题并以这种方式解决了这个问题。

于 2013-10-02T16:06:03.797 回答