Android setDisplayOptions 具体的使用说明

Android setDisplayOptions 具体的使用说明

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  Android有几个地方使用位计算。实例Intent Flags,它们的定义View onMeasure(int widthMeasureSpec, int heightMeasureSpec),并且ActionBar setDisplayOptions ,以下就理解一下setDisplayOptions的使用方法。

  先看下文档中对他的描写叙述:

public abstract void setDisplayOptions (int options)

Added in 
API level 11

Set display options. This changes all display option bits at once. To change a limited subset of display options, see setDisplayOptions(int, int).

Parameters
options A combination of the bits defined by the DISPLAY_ constants defined in ActionBar.


一次性设置选项这种方法。假设要设置部分。那么使用以下的方法

public abstract void setDisplayOptions (int options, int mask)

Added in 
API level 11

Set selected display options. Only the options specified by mask will be changed. To change all display option bits at once, see setDisplayOptions(int).

Example: setDisplayOptions(0, DISPLAY_SHOW_HOME) will disable the DISPLAY_SHOW_HOME option. setDisplayOptions(DISPLAY_SHOW_HOME, DISPLAY_SHOW_HOME | DISPLAY_USE_LOGO) will enable DISPLAY_SHOW_HOME and disable DISPLAY_USE_LOGO.

Parameters
options A combination of the bits defined by the DISPLAY_ constants defined in ActionBar.
mask A bit mask declaring which display options should be changed.

选择部分来显示设置,仅仅有当options在mask中被设置才干被显示。也就是设置为true。

那么问题来了。。。


究竟怎么用options 和mask尼?看以下内容

  • ActionBar默认假设没有做不论什么设置,会显示出一个箭头(DISPLAY_HOME_AS_UP),一个logo(DISPLAY_SHOW_HOME),标题(DISPLAY_SHOW_TITLE)

  • 一旦使用setDisplayOptions(int options)这种方法,全部的设置项都变成了false,options使用或运算加入设置。加入一个就设置一个为true-显示,比方setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM),就是设置显示返回箭头和customView

  • setDisplayOptions(int options,int mask)方法,即在当前默认的ActionBar设置项内。选择几个来设置。这种场景可能是Activity内部的Fragment。须要给Fragment设置ActionBar的几个确定选项,比方

 getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM,
                ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM);

options为 ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM

mask为 ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM

mask和options中都有ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM。那么就是把箭头和customView设置为显示,mask中剩下的ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME 就设置为隐藏。即相应的setDisplayShowTitleEnabled(false),其它没有提到的选项就应该为默认的配置。


能够这样理解。mask和option运行了&运算,同一时候出现的为true,出现一个的为false。

知道了原理我们就能够这样用,比方我们仅仅要显示a,b,c三个选项,

那么就使用getSupportActionBar().setDisplayOptions( a|b|c );


假设我们在特定的条件下,比方fragment中,须要仅仅对b,c,d这三个选项进行设置,把b。c设置为显示。d设置为隐藏,那么就能够使用getSupportActionBar().setDisplayOptions(b|c , b|c|d );


用了这种方法就不须要一个一个的设置setDisplayShowXXX()了

了解很多其它能够去:http://blog.csdn.net/zzp16/article/details/7956768








版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117026.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hash表存储方式_哈希表与数据的存储结构有关吗

    hash表存储方式_哈希表与数据的存储结构有关吗HashSet集合的自身特点: *   1、底层数据结构:哈希表 *   2、存储,拿取都比较快 *   3、线程不安全,运行速度快代码实现如下:packageitcast.demo1;importjava.util.HashSet;/**HashSet集合的自身特点:* 底层数据结构:哈希表* 存储,拿取都比较快* 线…

    2025年5月27日
    0
  • aliddns ipv6_linux系统下配置阿里DDNS(IPv6)

    aliddns ipv6_linux系统下配置阿里DDNS(IPv6)IPv6日渐完善,家里的宽带和手机也都分配了ipv6全球单播地址,手机分到了/64,宽带更是分到了/56。测试了一下运营商内外的连通性也都还可以,基本能跑满带宽,IPv6终于可以用起来了,个个都是公网,不用再渴求ipv4和搞内网穿透了。适用此教程适用于基于linux的各种系统,ubuntu、centos、openwrt、群晖等等,本文只介绍IPv6,不涉及IPv4。代码aliddnsipv6_a…

    2022年6月12日
    108
  • 夜深人静学算法_写夜深人静的句子

    夜深人静学算法_写夜深人静的句子一种处理单调性问题的数据结构—单调栈

    2022年9月22日
    0
  • 继续脚踏实地_脚踏实地上指什么生肖

    继续脚踏实地_脚踏实地上指什么生肖也许以后确实要搞科研了,那就从现在开始,一步一个脚印的,记录自己的一点一滴。。

    2022年9月27日
    0
  • pycharm怎么装第三方库jieba_pycharm找不到第三方库

    pycharm怎么装第三方库jieba_pycharm找不到第三方库第一种想要安装什么库,就直接cmd打开pipinstall库,这种方法可以的,不过速度会有点慢不过,有时候失败就难受。第二种直接在pycharm中安装如图,不过安装失败的情况比较多(可能是我电脑问题)第三种下载了Anaconda的小伙伴,虽然conda里面含有很多库了,但是还有需要下载的就可以直接打开AnacondaNavigator,在里面进行操作,如图四、上面三种都不行有安装Anaconda的话,直接上网搜索库名加pypi..

    2022年8月29日
    1
  • WinSCP拒绝访问问题

    WinSCP拒绝访问问题WinSCP登录界面的用户名与密码是Ubuntu虚拟机root用户下的用户名与密码

    2022年9月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号