Android_アクションバーの設置


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

トップページ > Android > アクションバー(ActionBar)の設置

アクションバーの出し方


デフォルトで表示されている。表示したくない場合は、

 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