簡體   English   中英

如何在Android中自定義導航?

[英]How to customise up navigation in android?

我不想讓操作欄中的導航返回其父活動,而是希望其返回到最后一個片段,或者只是能夠更改其行為和外觀。

如何做到這一點?

您可以嘗試以下操作:向上導航與其他任何菜單項都一樣,唯一不同的是,就ID而言,它是特殊的:

讓我再添加一些代碼來演示如何更改圖標:

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內設置其他資源來更改圖標!

更新

由於片段始終位於Activity中,因此您無需更改片段中的任何內容,但是如果您希望片段具有更多菜單項(如右側),則可以在onCreate()中啟用optionsMenu,如下所示:

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

    setHasOptionsMenu(true);

}

在這里,您可以像平時在活動中那樣做!

我希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM