2011-08-27 8 views
10

안드로이드 2.1에서 2.3.4에있는 ActionBar의 구현을 찾고 있는데, 특정 액티비티로부터 액션 바의 내용을 동적으로 설정할 수 있고, 액션 바에서 버튼을 클릭 할 때의 액션을 동적으로 설정할 수 있습니다 .안드로이드 액션 바

이 종류의 오픈 소스 라이브러리가 있습니까? 아니면 누군가가 동일한 빌드를 시작하는 방법을 알려줄 수 있습니까?

+1

[여기서 링크는 전체 사용이다.] [1] [1] : http://stackoverflow.com/questions/6794129/quickaction-bar-on-android-google-map -marker/7175968 # 7175968 –

답변

6

Greendroid (http://android.cyrilmottier.com/?p=240)를 살펴보십시오.

사용자의 요구에 맞지 않는 경우, 자신 만의 "위젯"을 만드는 것이 좋습니다. 레이아웃을 필요로하고 프로그래밍 방식으로 ActionBar를 부 풀리십시오.

3

이 질문에는 이미 대답이 있습니다. 하지만 SherlockActionBar 구현에 몇 가지 문제가 있었고 더 많이 검색하여이를 발견했습니다. 공식 Android에서 제공하는 공식 가이드를 따르면 아래에 아래에 API 레벨 11을 사용할 수 있습니다.

안드로이드의 공식 사이트에서이 튜토리얼을 읽으십시오. Action Bar Android 디스크의 android-sdk-windows\extras\android\support\v7\appcompat\libs 경로에서 프로젝트에 android-support-v7-appcompat.jar 지원 jar를 포함하기 만하면됩니다. 그런 다음 Android에서 API 11 아래의 ActionBar를 사용할 수 있습니다.

공식 안드로이드 튜토리얼은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

설명을 추가하려고합니다. –

관련 문제