我想在我自己的項目上使用ActionBarCompat。 我已經打開了示例項目(http://developer.android.com/resources/samples/ActionBarCompat/index.html),但我不知道如何自己實現它。ActionBarCompat - 如何使用它
我找不到任何類型的教程。 我應該把這個項目作爲一個圖書館嗎? 有人可以給我一些方向,請。
我想在我自己的項目上使用ActionBarCompat。 我已經打開了示例項目(http://developer.android.com/resources/samples/ActionBarCompat/index.html),但我不知道如何自己實現它。ActionBarCompat - 如何使用它
我找不到任何類型的教程。 我應該把這個項目作爲一個圖書館嗎? 有人可以給我一些方向,請。
至於實施,只需堅持MainActivity.java
類提供的示例代碼。你可以找到它here或<your local android-sdks folder>/samples/android-15/ActionBarCompat/src/com/example/android/actionbarcompat/MainActivity.java
。在一般情況下,所有你需要做的是以下幾點:
ActionBarActivity
onCreateOptionsMenu()
這樣一個活動它會誇大您在步驟#1中編碼的菜單onOptionsItemSelected()
以便您在用戶點擊您在步驟#1中定義的任何ActionBar項目時處理該事件。我認爲從ActionBarCompat代碼構建一個Android庫項目是有意義的;那麼你可以從你的自定義Android項目中引用它。請記住它的許可證號是Apache許可證2.0版。
偉大的點到待辦事項列表!謝謝我遵循你的列表,根據你的建議設置ActionBarCompat爲一個庫項目。 一切正常,但應用程序的標誌。 它始終是ActionBarCompat應用程序的標誌,直到我發現它是(種類)在ActionBarCompat中硬編碼的名爲ic_home(.png) 因此,我會在列表中添加一個附加點: 5.創建一個圖標在您的項目名爲ic-home(.png)的「可繪製」文件夾中 – Addi 2012-06-27 22:41:18
Andres我如何將它製作成圖書館?此外,有關鏈接現在已被打破。任何指針? – StuStirling 2012-12-04 16:37:08
@ DiscoS2如果你想把它變成一個庫,你只需要在IDE中指定它作爲一個庫。在Eclipse中,進入項目設置> android,向下滾動並選中'library'。在IntelliJ中,您將模塊指定爲庫。 – 2013-02-07 22:07:31
此答案描述瞭如何使用新的ActionBarCompat庫(2013年7月)。
在Android Studio中,開放build.gradle
和補充一點:
dependencies {
compile 'com.android.support:appcompat-v7:18.0.+'
}
在Eclipse中,在sdk\extras\android\support\v7\appcompat
創建基於代碼library project並將其添加到您的項目。
活動必須延伸ActionBarActivity
。
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.app.ActionBar;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
ActionBar ab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ab = getSupportActionBar();
ab.setTitle("Test");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView =
(SearchView) MenuItemCompat.getActionView(searchItem);
return super.onCreateOptionsMenu(menu);
}
}
主題必須是(或擴展)的Theme.AppCompat
主題之一,例如:
<activity android:theme="@style/Theme.AppCompat.Light" ... />
來源:How to add ActionBarCompat to your project,博客文章由加布裏埃萊·馬里奧蒂
我去ActionBarSherlock ... – 2012-05-03 13:20:49
看起來在過去一年的某個時候,Google刪除了他們的ActionBarCompat樣本(和其他樣本)的在線版本。有什麼地方可以鏈接到更新的鏈接? – 2013-05-22 14:58:27