今天在做項目的時候,遇到了一個問題,就是要把home在代碼中動態顯示跟隱藏。現在把方法記錄如下 我們可以使用 setDisplayOptions(mask, mask); 來設置home按鈕顯示的,它的具體用法如下 (1)如果只有一個參數,那么它就是直接設定顯示項, 如, int options = DISPLAY_SHOW_HOME | DISPLAY_USE_LOGO; setDisplayOptions(options); 那么,actionbar就會顯示home跟log按鈕,也就是,里面添加了誰,誰就顯示 (2)如果有兩個參數的話 int options = ActionBar.DISPLAY_SHOW_TITLE |ActionBar.DISPLAY_SHOW_HOME ; int mask = ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM; getSupportActionBar().setDisplayOptions(options, mask); 如上代碼,這時候actionbar會顯示home 跟title,其他的不會顯示 也就是只有當options在mask中被設置才能被顯示,也就是設置為true。 知識補充: 1.ActionBar默認如果沒有做任何設置,會顯示出一個箭頭(DISPLAY_HOME_AS_UP),一個logo(DISPLAY_SHOW_HOME),標題(DISPLAY_SHOW_TITLE) 2.單獨設置某項顯示方法如下 getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setDisplayShowCustomEnabled(true); getActionBar().setDisplayShowHomeEnabled(true); getActionBar().setDisplayShowTitleEnabled(true); getActionBar().setDisplayUseLogoEnabled(true); 3.設置各個按鈕是否可點擊狀態 getActionBar().setHomeButtonEnabled(true);