2011-08-27 12 views
10

Android 2.1〜2.3.4のActionBarの実装を探しています。特定のアクティビティからアクションバーの内容を動的に設定できます。また、アクションバーからボタンをクリックしたときのアクションも設定できます。Androidアクションバー

この種のオープンソースのlibがありますか、それを構築する方法を誰かに教えてください。

+1

[ここにリンクがフルに使用される。] [1] [1]:http://stackoverflow.com/questions/6794129/quickaction-bar-on-android-google-map -marker/7175968#7175968 –

答えて

6

http://android.cyrilmottier.com/?p=240 - Greendroidをご覧ください。

あなたのニーズに合わない場合は、独自の「ウィジェット」を作成し、いくつかのレイアウトを必要とし、プログラムでActionBarを拡張することをお勧めします。

3

この質問には既に回答があります。しかし、私はSherlockActionBarの実装にいくつかの問題を抱えていました。公式のAndroidで公式チュートリアルの後にActionBar以下APIレベル11を使用することができます。

Androidの公式サイトからこのチュートリアルを読んでください。 Action Bar Android ディスクにandroid-sdk-windows\extras\android\support\v7\appcompat\libsパスのandroid-support-v7-appcompat.jarサポートjarをプロジェクトに含めるだけです。次に、AndroidのAPI 11以下のActionBarを使用できます。

公式AndroidチュートリアルはこちらAction Bar Android Officialシャーロックバーが私のために問題を作り出していましたが、私はこの解決策を得ました。

+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

説明を追加してみてください –