2011-08-27 126 views
10

我正在尋找Android 2.1到2.3.4的ActionBar的實現,我可以從特定的活動動態設置動作欄的內容,以及從動作欄中點擊按鈕的動作。Android Action Bar

有沒有這種類型的開放源代碼庫,或者有人可以幫助我如何開始構建它。

+1

[這裏鏈路是充分使用。] [1] [1]:http://stackoverflow.com/questions/6794129/quickaction-bar-on-android-google-map -marker/7175968#7175968 –

回答

3

這個問題已經有了一個可接受的答案。但是我在使用SherlockActionBar時遇到了一些問題,並且搜索了更多並發現了這個問題。我們可以使用下面的API級別11下面的正式Android官方教程。

從Android官方站點閱讀本教程。 Action Bar 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酒吧爲我創造了問題,然後我得到了這個解決方案。

+0

它的一個老問題:D –

+0

是的,我知道。但訪問者將能夠從多個選項中選擇在他們的應用中實現。 – Master

+0

@Hoosier請不要發佈重複的答案。如果問題與重複的標誌相同。如果不是針對問題定製你的答案,而不是發佈同一個問題的許多副本。 – ChrisF

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); 

     } 

    } 



} 
+1

也嘗試添加一些描述 –