アクションバーを備えたAndroidアプリケーションメニューに取り組んでいます。Googleマップアプリケーションにあるようなアクションバーにドロップダウンメニューを配置したいと考えています。
誰か助けてくれませんか?これを達成する方法 私が従うことができるいくつかの簡単なチュートリアルを指摘してください。
アクションバーを備えたAndroidアプリケーションメニューに取り組んでいます。Googleマップアプリケーションにあるようなアクションバーにドロップダウンメニューを配置したいと考えています。
誰か助けてくれませんか?これを達成する方法 私が従うことができるいくつかの簡単なチュートリアルを指摘してください。
これをアクティビティの onCreate() メソッドに追加します。
// Adapter
SpinnerAdapter adapter =
ArrayAdapter.createFromResource(this, R.array.actions,
android.R.layout.simple_spinner_dropdown_item);
// Callback
OnNavigationListener callback = new OnNavigationListener() {
String[] items = getResources().getStringArray(R.array.actions); // List items from res
@Override
public boolean onNavigationItemSelected(int position, long id) {
// Do stuff when navigation item is selected
Log.d("NavigationItemSelected", items[position]); // Debug
return true;
}
};
// Action Bar
ActionBar actions = getActionBar();
actions.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actions.setDisplayShowTitleEnabled(false);
actions.setListNavigationCallbacks(adapter, callback);
この例では、リスト アイテムの配列リソースが必要です。
res/values/arrays.xml
<string-array name="actions">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</string-array>
または、SpinnerAdapter から拡張された独自のアダプターとレイアウトを作成して、より高度なまたは動的なリスト項目を表示することもできます。
アクティビティ onCreate コードをさらにきれいにするために、アクティビティを変更して OnNavigationListener を実装し、コールバック コードでオーバーライド onNavigationItemSelected を追加することもできます。次に、setListNavigationCallbacks() メソッドで「callback」を「this」に変更します。
アクション バーの API 11+ をターゲットにする必要があることに注意してください。それ以外の場合は、バージョン チェックまたはサポート ライブラリを追加する必要があります。