Android Open Source - android-compat-actionbar Action Bar Helper Honeycomb






From Project

Back to project page android-compat-actionbar.

License

The source code is released under:

Apache License

If you think the Android project android-compat-actionbar listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright 2011 The Android Open Source Project
 */*from  w  w  w .  j  a v a2  s. c  om*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.support.v4.actionbar;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

/**
 * An extension of {@link ActionBarHelper} that provides Android 3.0-specific functionality for Honeycomb tablets. It
 * thus requires API level 11.
 */
public class ActionBarHelperHoneycomb extends ActionBarHelper
{
        private Menu mOptionsMenu;
        private View mRefreshIndeterminateProgressView = null;

        protected ActionBarHelperHoneycomb ( Activity activity )
        {
                super ( activity );
        }

        @Override
        public boolean onCreateOptionsMenu ( Menu menu )
        {
                this.mOptionsMenu = menu;
                return super.onCreateOptionsMenu ( menu );
        }

        @Override
        public void setRefreshActionItemState ( boolean refreshing )
        {
                // On Honeycomb, we can set the state of the refresh button by giving it a custom
                // action view.
                if ( this.mOptionsMenu == null )
                {
                        return;
                }

                final MenuItem refreshItem = this.mOptionsMenu.findItem ( R.id.menu_refresh );
                if ( refreshItem != null )
                {
                        if ( refreshing )
                        {
                                if ( this.mRefreshIndeterminateProgressView == null )
                                {
                                        LayoutInflater inflater = ( LayoutInflater ) getActionBarThemedContext ()
                                                .getSystemService ( Context.LAYOUT_INFLATER_SERVICE );
                                        this.mRefreshIndeterminateProgressView = inflater.inflate (
                                                R.layout.actionbar_indeterminate_progress, null );
                                }

                                refreshItem.setActionView ( this.mRefreshIndeterminateProgressView );
                        }
                        else
                        {
                                refreshItem.setActionView ( null );
                        }
                }
        }

        /**
         * Returns a {@link Context} suitable for inflating layouts for the action bar. The implementation for this
         * method in {@link ActionBarHelperICS} asks the action bar for a themed context.
         */
        protected Context getActionBarThemedContext ()
        {
                return this.mActivity;
        }
}




Java Source Code List

android.support.v4.actionbar.ActionBarActivity.java
android.support.v4.actionbar.ActionBarFragmentActivity.java
android.support.v4.actionbar.ActionBarHelperBase.java
android.support.v4.actionbar.ActionBarHelperHoneycomb.java
android.support.v4.actionbar.ActionBarHelperICS.java
android.support.v4.actionbar.ActionBarHelper.java
android.support.v4.actionbar.ActionBarListActivity.java
android.support.v4.actionbar.SimpleMenuItem.java
android.support.v4.actionbar.SimpleMenu.java