• 代码中设置 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);
  • 相关阅读:
    语言相关
    一道简单DP题
    一道概率题
    Android CrashHandler
    一道简单数学题
    面试中遇到的随机题目
    VMWare 无损扩展磁盘大小
    Android 源码编译记录
    Android handler 内存泄露分析及解决方法
    Android 反编译
  • 原文地址:https://www.cnblogs.com/wjhblogs/p/4518174.html
Copyright © 2020-2023  润新知