「Up Navigation を実装するには」の版間の差分
提供: tknotebook
(ページの作成:「Category:コンピュータCategory:Android メインページ>コンピュータの部屋#Android>Android Tips Up Navigation とは今の画...」) |
(→マニフェストを変更する) |
||
| 43行: | 43行: | ||
上記はメインアクティビティに戻るための記述ですが、戻り先は任意のアクティビティで大丈夫です。 | 上記はメインアクティビティに戻るための記述ですが、戻り先は任意のアクティビティで大丈夫です。 | ||
| + | |||
| + | ==追記== | ||
| + | |||
| + | Android 1.14.0 以降では 従来のアクションバーに代わり ツールバーが使われる容易になりました。 | ||
| + | |||
| + | しかし、コード | ||
| + | |||
| + | setSupportActionBar(toolbar); | ||
| + | |||
| + | でツールバーを従来のアクションバーとして扱いことができます。 | ||
2015年10月8日 (木) 15:46時点における版
メインページ>コンピュータの部屋#Android>Android Tips
Up Navigation とは今の画面例のように、アクションバーの左端に矢印が表示され、それを押すと親のアクティビティに戻る動作のことです。
これを実現するには3つの処理が必要です。
Up Navigation の矢印を表示するには、アクティビティの onCreate メソッドなどで
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
とすればOKです。
==Up Navigation の イベントを処理する。
Up Navigation の矢印をタッチすると、アクティビティの onOptionsItemSelected メソッドが呼ばれるので、以下のように処理します。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
マニフェストを変更する
NavUtils.navigateUpFromSameTask(this);
はマニフェストにアクティビティの親アクティビティ(戻り先)を記述しないと落ちます。
マニフェストのアクティビティの記述に以下の行を加えます。
android:parentActivityName=".MainActivity"
上記はメインアクティビティに戻るための記述ですが、戻り先は任意のアクティビティで大丈夫です。
追記
Android 1.14.0 以降では 従来のアクションバーに代わり ツールバーが使われる容易になりました。
しかし、コード
setSupportActionBar(toolbar);
でツールバーを従来のアクションバーとして扱いことができます。
