2016-07-10 5 views
0

アクションバーのナビゲーションを親アクティビティに戻す代わりに、最後のフラグメントに戻すか、その動作と外観を変更できるようにしたいと思います。アンドロイドのナビゲーションをカスタマイズするにはどうすればいいですか?

これはどのように達成できますか?それは限りidが懸念されるような特別なことを除いアップ・ナビゲーションは、他のメニュー項目のようなものです何:

+0

「上」ナビゲーションボタンを変更するか、デバイス機能の「戻る」ボタンだけを変更しますか? – BR89

+0

アップボタンは外観と機能性の点で変更したいと思います。 @ BR89 –

答えて

1

あなたはこれを試すことができます

私はアイコンを変更する方法をデモするためにいくつかのより多くのコードを追加してみましょう:フラグメントポッピング取り扱い

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 

assert toolbar != null; 
toolbar.setNavigationIcon(R.drawable.close); 

//when adding your fragment to the activity, add it to back stack like this 
fragmentTransaction.addToBackStack("frag1"); 

//inside onOptionsItemSelected(MenuItem item) 
switch(item.getId()){ 
    case android.R.id.home: 
    FragmentManager fm = getActivity().getSupportFragmentManager(); 
    fm.popBackStack ("frag1", FragmentManager.POP_BACK_STACK_INCLUSIVE); 
    return true; 
} 

は、あなたが戻ってスタックからの断片を削除することができますが

また、onCreate内で別のリソースを設定することによってアイコンを変更することもできます。

UPDATE

フラグメントは常に活動の内側に住んでいるので、あなたはあなたのフラグメントでのものを変更する必要はないだろうが、あなたはフラグメントが右側のようなより多くのメニュー項目を持つようにしたい場合は、 onCreate()内のoptionsMenuを次のように有効にすることができます:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setHasOptionsMenu(true); 

} 

ここから、あなたのアクティビティで通常どおり行うことができます。

こちらがお役に立てば幸いです。

+0

上のナビゲーションボタンをアクティビティの代わりにフラグメントに表示するにはどうすればいいですか? –

+0

更新されたコードを確認してください! – Eenvincible

+0

どのようにバックスタックをポップするのですか? @EENVincible –

関連する問題