Android setDisplayOptions 具体的使用说明

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

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

时间: 2024-11-10 12:11:14

Android setDisplayOptions 具体的使用说明的相关文章

【Android】Android import和export使用说明 及 export报错:jarlist.cache: Resource is out of sync with the file syst解决

在Android开发export项目时发现有时会报错,内容如下: Problems were encountered during export:  Error exporting PalmIdentify/bin/jarlist.cache: Resource is out of sync with the file system: '/PalmIdentify/bin/jarlist.cache'.    Resource is out of sync with the file syste

Android setDisplayOptions 的用法详解

Android中有几个地方用到了位运算,比如Intent Flags,自定义View onMeasure(int widthMeasureSpec, int heightMeasureSpec),还有ActionBar setDisplayOptions ,下面就理解一下setDisplayOptions的用法. 先看下文档中对他的描述: public abstract void setDisplayOptions (int options) Added in API level 11 Set

Android日志:代码混淆,使用说明

上一篇介绍了Google官方的一些解释,这一篇主要介绍如何实战(Eclipse开发)使用Googel提供的这个工具.如对代码混淆的概念不是很了解的建议先看上一篇--Android日志:代码混淆,官方文档介绍-----来自Google最新文档 主要先简单的介绍三个主要文件,在sdk下的proguard里面:  我的SDK路径为H:\Android\android-sdk-windows\tools\proguard proguard-android.txt//系统配置好一些默认选项,考虑的比较详细

Android 事件总线OTTO使用说明和源码解析

一.Otto简单介绍 OTTO是Square推出的库,地址:https://github.com/square/otto 先来看看otto的官方介绍 An enhanced Guava-based event bus with emphasis on Android support.Otto is an event bus designed to decouple different parts of your application while still allowing them to c

Gprinter Android SDK V2.1 使用说明

Gprinter Android SDK旨在佳博用户更快速,更高效的在Android平台下开发和使用佳博打印机.如果您在使用SDK中碰到问题,或者发现BUG,请留言 一.下载GprinterSDKV2.1 GprinterSDKV2.1可打电话到0756-3866865,填写客户资料后,即可获得. 二.新建工程,导入gprinter-2.1.jar包 向工程的libs文件中拷贝gprinter-2.1.jar 三.注册服务 在AndroidManifest文件中添加服务,gprinter-2.1

Gprinter Android SDK V1.0 使用说明

Gprinter Android SDK旨在佳博用户更快速,更高效的在Android平台下开发和使用佳博打印机.如果您在使用SDK中碰到问题,或者发现BUG,请随时联系我,发送邮箱到[email protected] 一.下载GprinterSDK  GprinterSDK可在佳博打印机官网下载http://www.gainscha.cn/cn/download.aspx?current=down或点击GprinterSDK,即可下载. 一.将gprinter.jar导入到工程 在eclipse

Android资源混淆工具使用说明

本篇博客内容转自 github:  https://github.com/shwenzhang/AndResGuard/blob/master/README.zh-cn.md 本文主要是讲述资源混淆组件的用法以及性能,资源混淆组件不涉及编译过程,只需输入一个apk(无论签名与否,debug版,release版均可,在处理过程中会直接将原签名删除),可得到一个实现资源混淆后的apk(若在配置文件中输入签名信息,可自动重签名并对齐,得到可直接发布的apk)以及对应资源ID的mapping文件.同时可

Gprinter Android SDK V2.0 使用说明

Gprinter Android SDK旨在佳博用户更快速,更高效的在Android平台下开发和使用佳博打印机.如果您在使用SDK中碰到问题,或者发现BUG,请留言 一.下载GprinterSDKV2.0  GprinterSDKV2.0可打电话到0756-3866865,填写客户资料后,即可获得. 二.安装Gplink打印机驱动 在GprinterSDKV2.0文件夹中,可以看到Gplink.apk的软件,在手机或平板上安装此软件.Gplink提供打印服务,可以解决一台手机多个应用同时调用一台

Android进程保活

Android进程回收机制 Low Memory Killer 微信团队原创分享:Android版微信后台保活实战分享(网络保活篇) 微信团队原创分享:Android版微信后台保活实战分享(进程保活篇) 关于 Android 进程保活,你所需要知道的一切 (同上: Android进程保活详解,一篇文章解决你的所有疑问) Android后台保活实践总结:即时通讯应用无法根治的“顽疾” Android 进程常驻----MarsDaemon使用说明