1

アクティビティに SlidingMenu を追加しようとしています。私のコードは次のようになります。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    informationMenu = new SlidingMenu(this);
    informationMenu.setMode(SlidingMenu.LEFT);
    informationMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
    informationMenu.setTouchModeBehind(SlidingMenu.TOUCHMODE_MARGIN);
    informationMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
    informationMenu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
    informationMenu.setMenu(R.layout.main_info);
    informationMenu.setTouchModeBehind(SlidingMenu.TOUCHMODE_MARGIN);


    informationMenu.setOnOpenListener(new SlidingMenu.OnOpenListener() {
        @Override
        public void onOpen() {
            helpMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
        }
    });

    informationMenu.setOnClosedListener(new SlidingMenu.OnClosedListener() {
        @Override
        public void onClosed() {
            helpMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
        }
    });
}

しかし、これを追加した後、アクティビティが開始される前に 1 ~ 2 秒間黒い画面が表示されることがよくあります。AsyncTask を使用してメニューを作成しようとしましたが、大きな改善は得られませんでした。それを修正することは可能ですか?

PS私はこのライブラリを使用しています: https://github.com/jfeinstein10/SlidingMenu

4

1 に答える 1

1

あなたはこれをすべてのアクティビティで持っていますか、それともいくつかのベース/親アクティビティで持っていますか?

私自身のプロジェクトでは、この種のコードは BaseActivity に 1 回しかありません。

さらに、私はこれだけを使用します。

           // set the Behind View
            setBehindContentView(R.layout.menu_frame);
            FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
            mFrag = new MenuListFragment();
            t.replace(R.id.menu_frame, mFrag);
            t.commit();

            // Customize the SlidingMenu
            SlidingMenu sm = getSlidingMenu();
            sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
            sm.setShadowWidthRes(R.dimen.shadow_width);
            sm.setShadowDrawable(R.drawable.shadow);
            sm.setBehindScrollScale(0.25f);
            sm.setFadeDegree(0.25f);

https://code.google.com/p/my-curriculum-vitae/source/checkoutで私がどのようにそれを行うかを見ることができました.

于 2013-02-28T12:47:05.990 に答える