SlidingMenu宽度不正确

时间:2013-05-03 14:31:18

标签: java android slidingmenu

我在我的项目中使用jfeinstein1's slidingmenu library。我想将滑动菜单滑出到屏幕宽度的3/4左右。根据文档,这应该可以使用

来完成
setBehindWidth()
setBehindOffset()

但此刻,菜单一直向右滑动并覆盖整个屏幕。以下是我的代码:

public void setupMenu() {
    setContentView(R.layout.activity_base);
    menu = new SlidingMenu(this);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setBehindWidth(100);
    menu.setBehindOffset(100);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setMenu(R.layout.sliding_menu);
}

提前致谢

3 个答案:

答案 0 :(得分:7)

我从右边滑动菜单,只需致电:

getSlidingMenu().setMode(SlidingMenu.RIGHT);
getSlidingMenu().setBehindOffset(100);

希望有所帮助

答案 1 :(得分:7)

错误是,你选择了两种可能性,所以最后一次获胜:

menu.setBehindWidth(100);
menu.setBehindOffset(100);

....那是setBehindOffset()导致菜单移动的原因,直到只剩下100个像素。使用setBehindWidth(),您只会看到100个像素的菜单。

所以你只需要这个:

menu.setBehindWidth(100);

干杯!

来自documentation

p.s

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

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

答案 2 :(得分:5)

您不想同时使用宽度和偏移量。宽度是菜单的宽度,偏移量是屏幕的非菜单部分的宽度。只能使用一个。