2013-08-20 101 views
0

我已經從this教程中安裝了ActionBarSherlock。問題是,當我安裝了Sherlock時,在2.2版本的ActionBar中仍然沒有顯示出來。然後我嘗試從Java文件實現ActionBar,當我啓動我的應用程序時,它拋出錯誤,因爲我至少需要3.0版本。主要活動是ListActivity,所以我的問題是我如何執行SherlockActivityListAcivty,我需要這樣做嗎?Android ActionBar Sherlock沒有出現

+0

問題非常混亂。嘗試重新制定它。如果沒有運行時錯誤,但沒有顯示操作欄 - 最有可能你沒有設置活動主題。 – kriomant

回答

1

首先你要聲明其主題清單

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
android:theme="@style/Theme.Sherlock.Light"> 

然後在你想要的動作條有各自的活動,你應該把它擴展到了動作條福爾摩斯。

public class xxxx extends SherlockActivity { 

和列表視圖,您可以使用此

... extends SherlockListActivity { 

使用動作條夏洛克的一個,這是你們的末日acitvity如果你要使用動作條Sherlock的菜單按鈕

 @Override 
     public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { 

      MenuInflater inflater = getSupportMenuInflater(); 
      inflater.inflate(R.menu.MenuOfButtons, menu); 
      return super.onCreateOptionsMenu(menu); 
     } 

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      super.onOptionsItemSelected(item); 

      switch (item.getItemId()) { 
      case R.id.idOfButton: 
//action done 
       break; 
      } 
      return true; 
     } 
    } 
0

檢查這個視頻教程: http://www.youtube.com/watch?v=1S9f7GQlWDg

你需要從SherlockActivity延伸。

恐怕你不能使用sherlock動作欄從其他類如ListActivity擴展時。可能是創建ListActivity的繼承平衡的一些解決方法,SherlockActivity來得方便,但它會非常複雜。

如果您無法承擔避免ListActivity,您可以在清單中增加API級別(我認爲是12),並使用android API提供的操作欄。

0

你想在manifest中使用它。你是否應用了這個?

機器人:主題= 「@風格/ Theme.Sherlock.Light」

此外,在主要活動聲明此當擴展SherlockActivity

最終的ActionBar AB = getSupportActionBar();

// set defaults for logo & home up 
    ab.setDisplayHomeAsUpEnabled(false); 
    ab.setDisplayUseLogoEnabled(true); 
    ab.setDisplayShowTitleEnabled(true);