10

我正在寻找 Android 2.1 到 2.3.4 中 ActionBar 的实现,我可以在其中动态设置来自特定活动的操作栏的内容,以及单击操作栏中的按钮时的操作。

是否有任何此类开源库,或者有人可以帮助我如何开始构建相同的库。

4

4 回答 4

18

ActionBarSherlockandroid-actionbar

于 2011-08-27T10:58:33.930 回答
6

看看http://android.cyrilmottier.com/?p=240 - Greendroid。

如果它不符合您的需求,我建议您创建自己的“小部件”,只需要一些布局并以编程方式扩展 ActionBar。

于 2011-08-27T10:57:35.230 回答
3

这个问题已经有一个公认的答案。但是我在 SherlockActionBar 实现方面遇到了一些问题,并进行了更多搜索并找到了这个。我们可以按照官方 Android 提供的官方教程使用ActionBar低于API 级别 11 。

从 Android 的官方网站阅读本教程。 操作栏 Android 您只需要从磁盘上的路径android-support-v7-appcompat.jar中将支持 jar 包含在您的项目中。android-sdk-windows\extras\android\support\v7\appcompat\libs然后你可以在Android中使用API​​ 11以下的ActionBar。

官方 Android 教程在这里: Action Bar Android Official Sherlock bar 为我创造了问题,然后我得到了这个解决方案。

于 2014-03-12T05:12:29.290 回答
0
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);

        }

    }



}
于 2015-06-25T09:31:43.097 回答