Панель действий Android

Я ищу реализацию ActionBar в Android 2.1 до 2.3.4, где я могу динамически устанавливать содержимое панели действий из определенного действия, а также действия по щелчку кнопок из панели действий.

Есть ли какой-либо открытый исходный код этого типа, или кто-то может мне помочь, как начать с того же самого.

Ответ 2

Посмотрите http://android.cyrilmottier.com/?p=240 - Greendroid.

Если это не соответствует вашим потребностям, я предлагаю создать свой собственный "виджет", просто нужно несколько макетов и программно раздуть ActionBar.

Ответ 3

У этого вопроса уже есть принятый ответ. Но у меня были некоторые проблемы с реализацией SherlockActionBar, и вы искали больше и нашли это. Мы можем использовать ActionBar ниже уровня API уровня 11, следуя этому официальному руководству, представленному на официальном Android.

Прочитайте этот учебник с официального сайта Android. Action Bar Android Вам просто нужно включить android-support-v7-appcompat.jar поддержку jar в вашем проекте из вашего пути android-sdk-windows\extras\android\support\v7\appcompat\libs на вашем диске. Затем вы можете использовать ActionBar ниже API 11 в Android.

Официальное руководство для Android здесь: Action Bar Android Official Шерлок-бар создавал проблемы для меня, а затем я получил это решение.

Ответ 4

package com.util;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.LayoutParams;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.android.volley.RequestQueue;


public class BaseActivity extends ActionBarActivity {
    public View mCustomView;
    public static SessionManager session;
    public ProgressDialog pDialog;
    public ConnectionDetector checkConnection;
    RequestQueue queue;
    AlertDialog alertDialog;
    private boolean isActionBarEnable;
    public Typeface font_bold, font_regular, font_light, font_thin;
    public ImageView ivBack,ivHome,iv_history;
    public TextView tvTitle;
    public ProgressBar progressForWebView;

    public BaseActivity() {

    }

    public BaseActivity(boolean isActionBarEnable) {
        this.isActionBarEnable = isActionBarEnable;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);


        if (isActionBarEnable) {

            ActionBar actionBar = getSupportActionBar();
            actionBar.setDisplayHomeAsUpEnabled(false);
            actionBar.setDisplayShowHomeEnabled(false);
            actionBar.setDisplayUseLogoEnabled(false);
            actionBar.setDisplayShowTitleEnabled(false);

            LayoutInflater mInflater = LayoutInflater.from(this);

            mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

            ivBack = (ImageView) mCustomView.findViewById(R.id.custom_actionbar_iv_back);
            iv_history = (ImageView) mCustomView.findViewById(R.id.custom_actionbar_iv_history);
            ivHome = (ImageView) mCustomView.findViewById(R.id.custom_actionbar_iv_home);

            tvTitle = (TextView) mCustomView.findViewById(R.id.custom_actionbar_title);

            progressForWebView = (ProgressBar) mCustomView.findViewById(R.id.custom_actionbar_progressbar);


            actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_CUSTOM);
            actionBar.setDisplayShowCustomEnabled(true);

            actionBar.setCustomView(mCustomView, new ActionBar.LayoutParams(
                    LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
            Toolbar parent = (Toolbar) mCustomView.getParent();
            parent.setContentInsetsAbsolute(0, 0);

        }

    }



}