Android setDisplayOptions 的用法详解
来源:互联网 发布:linux 线程传递数据 编辑:程序博客网 时间:2024/05/18 09:09
Android中有几个地方用到了位运算,比如Intent Flags,自定义View onMeasure(int widthMeasureSpec, int heightMeasureSpec),还有ActionBar setDisplayOptions ,下面就理解一下setDisplayOptions的用法。
先看下文档中对他的描述:
public abstract void setDisplayOptions (int options)
Set display options. This changes all display option bits at once. To change a limited subset of display options, see setDisplayOptions(int, int)
.
Parameters
public abstract void setDisplayOptions (int options, int mask)
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在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
知道了原理我们就可以这样用,比如我们只要显示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
- Android setDisplayOptions 的用法详解
- actionbar setDisplayOptions用法详解
- android listview的用法详解
- Android canvas的用法详解
- Android DiskLruCache的用法详解
- Android 的 AlertDialog 用法详解
- Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayOptions(int)' on a null objec
- android中sharedPreferences的用法详解
- Android: TextView常用属性的用法详解
- android 中.9图片的用法 详解
- android 中.9图片的用法 详解
- android 中.9图片的用法 详解
- android之interpolator的用法详解
- android开发之interpolator的用法详解
- Android中shape的用法详解
- android开发之interpolator的用法详解
- android 异步任务的用法详解
- android开发之interpolator的用法详解
- R语言学习由浅入深路线图
- 1026 程序运行时间
- Locality-constrained Linear Coding(LLC)总结
- System.load 和 System.loadLibrary区别
- Android 性能建议 Performance Tips
- Android setDisplayOptions 的用法详解
- 【UML图】——静态图
- 学华为:创始人必看18个管理故事
- fflush(stdin)与fflush(stdout)
- 1025 反转链表
- java.io.IOException: Unable to open sync connection!的解决方案
- mac和windows下编译运行fbreaderj的过程
- 四路智能红外遥控插座的设计
- 1024 科学计数法