SlidingMenu宽度不正确

Mar*_*ury 3 java android slidingmenu

我正在我的项目中使用jfeinstein1的slidingmenu库.
我想将滑动菜单滑出到屏幕宽度的大约3/4.根据文档,这应该可以使用

setBehindWidth()
setBehindOffset()
Run Code Online (Sandbox Code Playgroud)

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

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);
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

Ton*_*ony 7

我有一个从右边滑动的菜单,只需调用:

getSlidingMenu().setMode(SlidingMenu.RIGHT);
getSlidingMenu().setBehindOffset(100);
Run Code Online (Sandbox Code Playgroud)

希望有所帮助


Tri*_*mon 7

错误是,你选择了两种可能性,所以最后一个赢了:

menu.setBehindWidth(100);
menu.setBehindOffset(100);
Run Code Online (Sandbox Code Playgroud)

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

所以你只需要这个:

menu.setBehindWidth(100);
Run Code Online (Sandbox Code Playgroud)

干杯!

来自文档的ps

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

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


ado*_*al3 5

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