예제 #1
0
    @Override
    public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) {
      mExpandedActionView = item.getActionView();
      mExpandedHomeLayout.setIcon(mIcon.getConstantState().newDrawable(/* TODO getResources() */ ));
      mCurrentExpandedItem = item;
      if (mExpandedActionView.getParent() != ActionBarView.this) {
        addView(mExpandedActionView);
      }
      if (mExpandedHomeLayout.getParent() != ActionBarView.this) {
        addView(mExpandedHomeLayout);
      }
      mHomeLayout.setVisibility(GONE);
      if (mTitleLayout != null) mTitleLayout.setVisibility(GONE);
      if (mTabScrollView != null) mTabScrollView.setVisibility(GONE);
      if (mSpinner != null) mSpinner.setVisibility(GONE);
      if (mCustomNavView != null) mCustomNavView.setVisibility(GONE);
      requestLayout();
      item.setActionViewExpanded(true);

      if (mExpandedActionView instanceof CollapsibleActionView) {
        ((CollapsibleActionView) mExpandedActionView).onActionViewExpanded();
      }

      return true;
    }
예제 #2
0
    @Override
    public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) {
      // Do this before detaching the actionview from the hierarchy, in case
      // it needs to dismiss the soft keyboard, etc.
      if (mExpandedActionView instanceof CollapsibleActionView) {
        ((CollapsibleActionView) mExpandedActionView).onActionViewCollapsed();
      }

      removeView(mExpandedActionView);
      removeView(mExpandedHomeLayout);
      mExpandedActionView = null;
      if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_HOME) != 0) {
        mHomeLayout.setVisibility(VISIBLE);
      }
      if ((mDisplayOptions & ActionBar.DISPLAY_SHOW_TITLE) != 0) {
        if (mTitleLayout == null) {
          initTitle();
        } else {
          mTitleLayout.setVisibility(VISIBLE);
        }
      }
      if (mTabScrollView != null && mNavigationMode == ActionBar.NAVIGATION_MODE_TABS) {
        mTabScrollView.setVisibility(VISIBLE);
      }
      if (mSpinner != null && mNavigationMode == ActionBar.NAVIGATION_MODE_LIST) {
        mSpinner.setVisibility(VISIBLE);
      }
      if (mCustomNavView != null && (mDisplayOptions & ActionBar.DISPLAY_SHOW_CUSTOM) != 0) {
        mCustomNavView.setVisibility(VISIBLE);
      }
      mExpandedHomeLayout.setIcon(null);
      mCurrentExpandedItem = null;
      requestLayout();
      item.setActionViewExpanded(false);

      return true;
    }