Android Reside Menu

    Rating: ★★★★☆
    View: 322
    Download: 95
    Từ khóa:

    Version Migration

    Upgrading to v1.4 from v1.3v1.2v1.1v1.0

    Duplicate the followed code in dispatchTouchEvent() of Activity, replace the old dispatchTouchEvent()code.

     @Override
        public boolean dispatchTouchEvent(MotionEvent ev) {
            return resideMenu.dispatchTouchEvent(ev);
        }

    Requirements

    Run in Android 2.3 +

    Installation

    Gradle

    repositories {
        mavenCentral()
    }
    dependencies {
        compile 'com.specyci:residemenu:1.6+'
    }

    Other

    1. import ResideMenu project to your workspace.
    2. make it as a dependency library project to your main project. 

    or

    If you want to merge ResideMenu with your project, you should follow these steps.

    1. Copy all files from src/com/special/ResideMenu to your project.
    2. Copy libs/nineoldandroids-library-2.4.0.jar to your project’s corresponding path: libs/
    3. Copy res/drawable-hdpi/shadow.9.png to your project’s corresponding path: res/drawable-hdpi/
    4. Copy res/layout/residemenu.xml and residemenu_item.xml to your project’s corresponding path: res/layout

    Usage

    init ResideMenu: write these code in Activity onCreate()

    // attach to current activity;
            resideMenu = new ResideMenu(this);
            resideMenu.setBackground(R.drawable.menu_background);
            resideMenu.attachToActivity(this);
    
            // create menu items;
            String titles[] = { "Home", "Profile", "Calendar", "Settings" };
            int icon[] = { R.drawable.icon_home, R.drawable.icon_profile, R.drawable.icon_calendar, R.drawable.icon_settings };
    
            for (int i = 0; i < titles.length; i++){
                ResideMenuItem item = new ResideMenuItem(this, icon[i], titles[i]);
                item.setOnClickListener(this);
                resideMenu.addMenuItem(item,  ResideMenu.DIRECTION_LEFT); // or  ResideMenu.DIRECTION_RIGHT
            }

    If you want to use slipping gesture to operate(lock/unlock) the menu, override this code in Acitivity dispatchTouchEvent() (please duplicate the followed code in dispatchTouchEvent() of Activity.

    @Override
        public boolean dispatchTouchEvent(MotionEvent ev) {
            return resideMenu.dispatchTouchEvent(ev);
        }

    On some occasions, the slipping gesture function for locking/unlocking menu, may have conflicts with your widgets, such as viewpager. By then you can add the viewpager to ignored view, please refer to next chapter – Ignored Views.

    open/close menu

    resideMenu.openMenu(ResideMenu.DIRECTION_LEFT); // or ResideMenu.DIRECTION_RIGHT
    resideMenu.closeMenu();

    listen in the menu state

    resideMenu.setMenuListener(menuListener);
        private ResideMenu.OnMenuListener menuListener = new ResideMenu.OnMenuListener() {
            @Override
            public void openMenu() {
                Toast.makeText(mContext, "Menu is opened!", Toast.LENGTH_SHORT).show();
            }
    
            @Override
            public void closeMenu() {
                Toast.makeText(mContext, "Menu is closed!", Toast.LENGTH_SHORT).show();
            }
        };

    disable a swipe direction

     resideMenu.setSwipeDirectionDisable(ResideMenu.DIRECTION_RIGHT);

    Ignored Views

    On some occasions, the slipping gesture function for locking/unlocking menu, may have conflicts with your widgets such as viewpager.By then you can add the viewpager to ignored view.

    // add gesture operation's ignored views
            FrameLayout ignored_view = (FrameLayout) findViewById(R.id.ignored_view);
            resideMenu.addIgnoredView(ignored_view);

    So that in ignored view’s workplace, the slipping gesture will not be allowed to operate menu.

    loading Đang tải...

    template được ưa chuộng