自分のプロジェクトでActionBarCompatを使用しようとしています。サンプルプロジェクト(http://developer.android.com/resources/samples/ActionBarCompat/index.html)を既に開いていますが、自分で実装する方法がわかりません。
ある種のチュートリアルが見つかりません。このプロジェクトをライブラリとして作成する必要がありますか?誰かが私にいくつかの指示を教えてもらえますか?
自分のプロジェクトでActionBarCompatを使用しようとしています。サンプルプロジェクト(http://developer.android.com/resources/samples/ActionBarCompat/index.html)を既に開いていますが、自分で実装する方法がわかりません。
ある種のチュートリアルが見つかりません。このプロジェクトをライブラリとして作成する必要がありますか?誰かが私にいくつかの指示を教えてもらえますか?
実装に関しては、MainActivity.java
クラスの下で提供されるサンプルコードに固執するだけです。ここまたは下にあります<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ライブラリ(2013年7月)の使用方法について説明します。
Android Studioで、これを開いbuild.gradle
て追加します。
dependencies {
compile 'com.android.support:appcompat-v7:18.0.+'
}
Eclipseで、のコードに基づいてライブラリプロジェクトを作成し、プロジェクトsdk\extras\android\support\v7\appcompat
に追加します。
アクティビティを拡張する必要があり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
テーマは、次のようなテーマの1つである(または拡張する)必要があります。
<activity android:theme="@style/Theme.AppCompat.Light" ... />
出典:ActionBarCompatをプロジェクトに追加する方法、GabrieleMariottiによるブログ投稿