Java 类android.support.v4.widget.PopupMenuCompat 实例源码

项目:mpd-control    文件:PlayingFragment.java   
private void setupSong()
{
    songMenu = new PopupMenu(activity, songLayout);
    songMenu.getMenu().add(Menu.NONE, POPUP_ALBUM, Menu.NONE, R.string.playing_popup_go_album);
    songMenu.getMenu().add(Menu.NONE, POPUP_ARTIST, Menu.NONE, R.string.playing_popup_go_artist);
    songMenu.getMenu().add(Menu.NONE, POPUP_CURRENT, Menu.NONE, R.string.playing_popup_go_current);
    songMenu.setOnMenuItemClickListener(PlayingFragment.this);

    songMenuTouchListener = PopupMenuCompat.getDragToOpenListener(songMenu);

    songLayout.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            if (currentSong == null) return;
            if (!currentSong.isStream())  songMenu.show();
         }
    });
}
项目:countdown    文件:DeskClockFragment.java   
/**
 * Installs click and touch listeners on a fake overflow menu button.
 *
 * @param menuButton the fragment's fake overflow menu button
 */
public void setupFakeOverflowMenuButton(View menuButton) {
    final PopupMenu fakeOverflow = new PopupMenu(menuButton.getContext(), menuButton) {
        @Override
        public void show() {
            getActivity().onPrepareOptionsMenu(getMenu());
            super.show();
        }
    };
    fakeOverflow.inflate(R.menu.desk_clock_menu);
    fakeOverflow.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener () {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return getActivity().onOptionsItemSelected(item);
        }
    });

    menuButton.setOnTouchListener(PopupMenuCompat.getDragToOpenListener(fakeOverflow));
    menuButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            fakeOverflow.show();
        }
    });
}