最新の記事アプリケーションアクティビティ、インテント、サービスについてデバイスAndroidでのデバイス制御について。地磁気センサ、加速度センサなどマルチメディアグラフィックス、音楽や動画再生などマルチメディア処理についてユーザインターフェースAndroidのユーザインターフェイスについて、またユーザインターフェイスを提供するコンポーネントの話題について。リソースAndroidでのアイコン、画像、文字列、ローカライゼーションなどHacksマッシュアップ開発環境Androidの開発環境など。Designとしても重要視されているユーザインターフェースです。本エントリでは、ActionBarSherlockライブラリ用いて、Android2.x(HoneyComb以前)でもAndroid3.x/Android4.0.xと同様にActionBarを利用する方法を紹介します。TechBoosterでは様々なActionBarの記事を取り扱っています。以下内容の記事も参考にどうぞ。Android4.0からのActionBar再入門ActionBarにMENUを表示するActionBarのタブを利用するActionBarに共有履歴を表示するActionProviderを使用してMenuItemの処理を共通化するそれでは続きをどうぞライブラリプロジェクトの利用方法ActionBarSherlockライブラリを利用するためには、まずライブラリプロジェクトをダウンロードし、利用するプロジェクトから参照する必要があります。※ActionBarSherlockライブラリのプロジェクトから参照する方法は、以下リンク先に非常に丁寧にまとまっていますので、そちらを参照ください。Barが使えるActionBarSherlockの使い方(gabuchan日記さま)ライブラリプロジェクトの設定と、使用するプロジェクトからの参照を終えたらいよいよActionBarSherlockライブラリが利用できます。ActionBarを利用する為には、以下の二点に注意を払う必要が有ります。・SherlockActivityを継承する・テーマを設定する為、setThemeメソッドをsetContentViewより前に呼び出す以上2点を踏まえて、ActionBarSherlockライブラリを利用するサンプルコードは以下になります。setContentView(R.layout.main);}}1行目で、SherlockActivityを継承、8行目でテーマを設定しています。テーマを設定しない場合、アプリケーション起動時にエラー終了していしまうため、注意しましょう。8行目で設定しているテーマはActionBarSherlockライブラリで用意されているテーマになります。ActionBarSherlockライブラリには3種類のテーマが用意されており、本サンプルでは用意されたテーマの内のオーソドックスなICSのHoloテーマに近い物を使用しています。ActionItemを利用するActionBarSherlockライブラリでActionItemを利用する方法は、Android3.x以降でActionItemを利用する方法とほぼ同じです。onCreateOptionsMenuメソッドをオーバーライドして実装し、メソッド内でcom.actionbarsherlock.view.Menuクラスのインスタンスに対しアイテムをaddしていきます。注意しなければならないのは、Android2.x系ではMenuボタン(ハードウェアキー)があるということです。Menuボタンがある場合、表示仕切れないActionItemについては、Menuボタン押下時に表示されます。以下スクリーンショット一枚目は、ActionItemが追加されている様子を表しています。add/Save/Delete/Searchの4つのActionItemを追加していますが、Deleteが表示されていません。スクリーンショット二枚目は、隠れてしまったActionItem(Delete)をMenuボタンを押下して出力させたところです。以下サンプルコードは、add/Save/Delete/SearchというActionItemを追加しているソースコードです。true;}3行目〜5行目でActionItemを追加しています。4行目はActionItemに表示されるアイコンの設定を、5行目はActionItemの表示方式を設定しています。詳しくは、Android4.0からのActionBar再入門を参考下さい。SplitActionBarの利用ActionBarSherlockライブラリでは、Android2.x環境でもSplitActionBarを利用することができます。SplitActionBarとは、スマートフォン端末等で利用出来るActionBarの表示モードで、ONにすると、画面横方向のサイズが小さい場合に(w480dp以下)ActionItemが画面下部に表示されるようになります。SplitActionBarを使いたいActivityに対し、AndroidManifest内のActivityタグにsplitActionBarWhenNarrowを指定します。これもAndroid4.0で利用するときと同じように利用することができます。android:uiOptions=&quot;splitActionBarWhenNarrow&quot;&gt;以下のスクリーンショットは、縦横を切り替えたときの表示の違いを見た図です。縦画面のときは、SplitActionBarを表示、横画面のときは、SplitActionBarは表示しないところを示した図です。tabの利用ActionBarSherlockライブラリでは、Android2.x環境でもタブをActionBarに組み込み利用する事が出来ます。タブを表示するなどActionbarに対する変更をくわえる場合には、ActionBarクラスのインスタンスを取得する必要がありますが、ActionBarSherlockライブラリを使った場合、ActionBarクラスのインスタンスの取得方法がgetActionBarメソッドからgetSupportActionBarメソッドに変わっています。この点は、ActionBarSherlockライブラリを利用する場合に変更しなければならない点なので注意が必要です。以下のソースコードをご覧下さい。}12行目でActionBarクラスのインスタンスを取得しています。ActionBarのインスタンスを取得した後の処理は、Android4.0以降で利用される従来通りの処理になっています。まとめActionBarはAndroidアプリケーションを作成する上で、重要なユーザインターフェースです。市場に流通しているAndroid端末のうち、大きなウエイトを占めるのはAndroid2.xになります。ActionBarSherlockライブラリは、Android4.0のAPIと大きな違い無く利用できる為、Android2.xとAndroid4.0の互換性を保つアプリケーション開発にはかかせないライブラリとなるのではないかと思います。2.0(β)に対応した解説書です。TechBooster.TechBoosterについて。