GoogleのInbox Appで、新しいメールを作成し、戻るボタン(矢印)の代わりにツールバーに「閉じる」ボタンがあることを確認しました(図を参照)。
どうすればこれを達成できますか?
つかいます
this.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_close);
これを達成するために。
独自の閉じるアイコンを作成するか、GitHubの 材料設計アイコンセット から取得できます。また、この行を上の行の前に追加して、閉じる矢印として閉じる機能を作成します。
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
マニフェストで親を定義し、もちろんサポートアプリバーを使用する場合は、onSupportNavigationUp()をオーバーライドする必要があります。また、アイコンパックについては次の便利なサイトにアクセスしてください。 https://www.google.com/design/icons/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourAwesomeLayout);
setupToolBar();
}
private void setupToolBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar == null) return;
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
}
@Override
public boolean onSupportNavigateUp() {
finish(); // close this activity as oppose to navigating up
return false;
}
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Search");
toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha);
setSupportActionBar(toolbar);
マニフェストで親アクティビティを定義する代わりに、この例のようにonOptionsItemSelectedメソッドで実行するアクションを処理することもできます。
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
// Respond to the action bar's Up/Home/back button
case Android.R.id.home:
finish();
break;
}
return super.onOptionsItemSelected(item);
}