2

我在这里有滑动菜单库有滑动菜单库,我希望左右滑动菜单都基于操作,在我的情况下,无论图标点击如何,总是从左到右滑动。这是代码

问题出在哪里?。如何使两个幻灯片工作?

package com.example.simple_left_right_slider;

import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuItem;

import com.actionbarsherlock.app.SherlockFragmentActivity;

import com.slidingmenu.lib.SlidingMenu;


public class MainActivity extends  FragmentActivity{

    private SlidingMenu menu;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);

        menu = new SlidingMenu(this);
        menu.setTouchModeAbove(SlidingMenu.LEFT_RIGHT);
        menu.setMode(SlidingMenu.LEFT_RIGHT);
        menu.setShadowWidthRes(R.dimen.shadow_width);
        //menu.setShadowDrawable(R.drawable.shadow);
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        menu.setFadeDegree(0.35f);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.menu_frame);
        getSupportFragmentManager()
          .beginTransaction()
          .replace(R.id.menu_frame, new SampleListFragment())
          .commit();

        menu.setSecondaryMenu(R.layout.menu_frame1);

        getSupportFragmentManager()
          .beginTransaction()
          .replace(R.id.menu_frame1, new SampleListFragment())
          .commit();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.mainmenu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected (MenuItem item)
    {
        switch (item.getItemId()) {

          case android.R.id.home:
            menu.toggle();
            break;

          case R.id.github:
            menu.toggle();
            break;

        }
        return super.onOptionsItemSelected(item);

    }

}
4

1 回答 1

5

这是因为您menu.toggle()对两个操作都使用相同的操作:根据该方法打开/关闭左侧菜单的来源。您应该showSecondaryMenu()改为使用打开右侧菜单。

于 2013-04-21T15:50:03.450 回答