@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.menu_image_item_selected) {
            if (mCurrentImageItem == null) {
                return false;
            }
            if (mSelectedImages.size() >= mMaxCount && !mCurrentImageItem.isSelected()) {
                String warning = getString(R.string.boxing_max_image_over_fmt, mMaxCount);
                Toast.makeText(this, warning, Toast.LENGTH_SHORT).show();
                return true;
            }
            if (mCurrentImageItem.isSelected()) {
                cancelImage();
            } else {
                if (!mSelectedImages.contains(mCurrentImageItem)) {
                    if (mCurrentImageItem.isGifOverSize()) {
                        Toast.makeText(getApplicationContext(), R.string.boxing_gif_too_big, Toast.LENGTH_SHORT).show();
                        return true;
                    }
                    mCurrentImageItem.setSelected(true);
                    mSelectedImages.add(mCurrentImageItem);
                }
            }
            setOkTextNumber();
            setMenuIcon(mCurrentImageItem.isSelected());
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
An Activity to show raw image by holding {@link BoxingViewFragment}.

@author ChenSL
boxing-impl/src/main/java/com/bilibili/boxing_impl/ui/BoxingViewActivity.java