代码中设置 actionbar 上home等图标显示跟隐藏

今天在做项目的时候,遇到了一个问题,就是要把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);
原文地址:https://www.cnblogs.com/wjhblogs/p/4518174.html