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

behindOffsetbehindWidthまたはを使用できますtouchModeAbove。ビューとして使用する場合、これを行うことができます(レイアウトファイルで):

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 に答える