2013-05-03 54 views
3

我在我的项目中使用了jfeinstein1's slidingmenu library
我想滑动菜单滑出屏幕宽度的3/4左右。根据该文档,这应该能够使用SlidingMenu宽度不正确

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

在此先感谢

+0

文件夹./values/dimens.xml可能有init配置值由@tony提及 – 2013-05-03 14:38:39

+0

唉,我太蠢了,它伤害了。这个方法甚至没有被调用,因为我的调用包含在一个总是返回false的if()子句中。所有的建议工作。一个耻辱,我只能让你们中的一个人胜利。再次感谢您的帮助。 – 2013-05-03 14:53:42

回答

7

我有一个菜单从右侧滑动,只需拨打:

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

希望帮助

+0

但是,这个值100取决于屏幕尺寸na?在小屏幕尺寸的设备中,它真的很难看。我试过。是否有任何方法来设置相对于整个屏幕宽度的宽度?例如,总数的35%屏幕宽度? – Nevaeh 2015-03-24 09:40:08

5

你不想使用宽度和偏移量。宽度是菜单的宽度,偏移量是屏幕非菜单部分的宽度。只有一个是用来使用的。

+0

目前,如果您同时使用两者,您将得到一个异常 – joao2fast4u 2014-09-10 10:49:41

7

的错误是,你选择这两种可能性,所以最后的最后一个胜:

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

....那就是setBehindOffset()是什么原因导致移动你的菜单,直到只有100个像素被保留。使用setBehindWidth(),你只会看到菜单的100个像素。

所以你只有这一个需要:

menu.setBehindWidth(100); 

干杯!

P.Sdocumentation

behindOffset - 代表所需的上述观点,当后面视图表示来显示像素的数量的尺寸。默认为0.

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