Android Open Source - android-compat-actionbar Action Bar Fragment Activity






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
 *// w  ww .  ja  v  a2  s.  co m
 * 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.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuInflater;

/**
 * A base activity that defers common functionality across app activities to an
 * {@link ActionBarHelper}. NOTE: dynamically marking menu items as invisible/visible is not
 * currently supported.
 * <p>
 * NOTE: this may used with the Android Compatibility Package by extending
 * android.support.v4.app.FragmentActivity instead of {@link Activity}.
 * </p>
 */
public abstract class ActionBarFragmentActivity extends FragmentActivity {
    final ActionBarHelper mActionBarHelper = ActionBarHelper.createInstance(this);

    /**
     * Returns the {@link ActionBarHelper} for this activity.
     */
    protected ActionBarHelper getActionBarHelper() {
        return this.mActionBarHelper;
    }

    /** {@inheritDoc} */
    @Override
    public MenuInflater getMenuInflater() {
        return this.mActionBarHelper.getMenuInflater(super.getMenuInflater());
    }

    /** {@inheritDoc} */
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.mActionBarHelper.onCreate(savedInstanceState);
    }

    /** {@inheritDoc} */
    @Override
    protected void onPostCreate(final Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);
        this.mActionBarHelper.onPostCreate(savedInstanceState);
    }

    /**
     * Base action bar-aware implementation for
     * {@link Activity#onCreateOptionsMenu(android.view.Menu)}. Note: marking menu items as
     * invisible/visible is not currently supported.
     */
    @Override
    public boolean onCreateOptionsMenu(final Menu menu) {
        boolean retValue = false;
        retValue |= this.mActionBarHelper.onCreateOptionsMenu(menu);
        retValue |= super.onCreateOptionsMenu(menu);
        return retValue;
    }

    /** {@inheritDoc} */
    @Override
    protected void onTitleChanged(final CharSequence title, final int color) {
        this.mActionBarHelper.onTitleChanged(title, color);
        super.onTitleChanged(title, color);
    }
}




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