アクションバーの出し方
デフォルトで表示されている。表示したくない場合は、
requestWindowFeature(Window.FEATURE_NO_TITLE);
をonCreateメソッド内で実行して消すことも出来る。
また、上記とは別に
getActionBar().show();
getActionBar().hide();
でいつでも表示/非常時を切り替えられる。
ホームボタンを有効に
Homeボタン(左上部のアプリアイコン)をボタンとして有効にするには、
getActionBar().setHomeButtonEnabled(true);
を使う。こうすると、HomeボタンをタップしたときにonMenuItemSelected(int featureId,MenuItem item)
メソッドが呼ばれる。このとき、item.getItemId()の値がandroid.R.id.homeになっているので、
それを検知して動作を決めればよい。
ホームボタンで上位階層へ戻らせる。
Homeボタンの左側に戻る記号「<」を表示するには
getActionBar().setDisplayHomeAsUpEnabled(true);
とすれば良い。さらに、ボタンを押したときの動作として
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
super.onMenuItemSelected(featureId, item);
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
default:
}
return true;
}
のように実装すれば、アクティビティを破棄して元に戻れる。
Android 2.3対応
アクションバーは、Android 2.3だとないので、NoSuchMethodErrorが出てしまう。
次のようなオーバーライドしておいた方がよいかも。
public ActionBar getActionBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
return super.getActionBar();
}
return null;
}
使うときも、nullでないことを判定してから利用するように
ActionBar ab = getActionBar();
ab.setHomeButtonEanbled(true);
2013/7/11
最終更新:2013年07月11日 14:19