ActionBarの左上のAppIcon領域には、自由にロゴ画像を配置することが可能です。
また、タップイベントを有効することで画面の遷移ナビゲーションを管理することも可能です。
AppIconのロゴを変更する
1.AndroidManifest.xmlで指定する
AndroidManifest.xml
からAppIconの画像を変更するには、
Activity
要素にあるandroid:logo
に表示したい画像リソースを指定します。
<activity android:name="com.example.actionbarmove.SampleActivity" android:logo="@drawable/icon" > </activity>
2.ソースから指定する
ソース上から、画像を変更するには、getActionBar()
で取得した
ActionBarに対してsetLogo()
を使用します。
getActionBar().setLogo(R.drawable.icon);
タップイベントを取得する
AppIconのタップイベントを取得するには、
ActionBarに対して、setDisplayHomeAsUpEnabled(true)
を実行します。
上記メソッドを実行するとAppIconのアイコンに<
マークが付き、
タップイベントを取得できるようになります。
getActionBar().setDisplayHomeAsUpEnabled(true)
タップイベントを取得するには、
Activityクラスで、onOptionsItemSelected()
メソッドをオーバーライドします。
AppIconには、android.R.id.home
というリソースIDが割り振られいるため、
これをハンドリングします。
下記の実装では、AppIconを押下されたタイミングで、ホーム画面へ遷移を行っています。
Intent.FLAG_ACTIVITY_CLEAR_TOP
を付与して画面遷移を行うことでActivityスタックをクリアし、
どの画面から遷移してもホーム画面へ戻ることが可能です。
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // app icon in Action Bar clicked; go home Intent intent = new Intent(this, HomeActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } }
参考
http://www.techdoctranslator.com/android/guide/ui/actionbar
http://dev.classmethod.jp/smartphone/android-tips-10-AppIcon/