文档章节

andorid actionBar

lightUp
 lightUp
发布于 2015/10/20 16:24
字数 354
阅读 63
收藏 4


1,actionBar 隐藏 title 和icon 可以通过代码设置也可以通过主题设置,另外如果要用logo代替icon ,需要设置ShowHomeEnabled为true;

2,关于设置CustomView , customview所处的actionBar容器其实是一个LinearLayout容器, 并设置了 clipToBounds 属性,所以customView的长度最长是actionBar的长度减去 backArrow、logo(或icon)等的长度,即使customview的长度设置的很长;如果customView较小的话,可以设置其layout_gravity。默认是center;

3,设置HomeAsUpEnabled 为true 可以显示backArrow, 点击backArrow 默认没有返回事件,需要在其activity声明中加入 parentActivity属性 或 实现 

getSupportParentActivityIntent() 和 onCreateSupportNavigateUpTaskStack()方法,参考:

http://developer.android.com/guide/topics/ui/actionbar.html#Adding


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ActionBar actionBar = getActionBar();
    //如何隐藏ActionBar的标题栏部分
    //方法1
    //actonBar.setDisplayOptions(0,ActionBar.DISPLAY_SHOW_HOME|ActionBar.DISPLAY_SHOW_TITLE );
    actionBar.setDisplayShowTitleEnabled(false);
    //actionBar.setDisplayShowHomeEnabled(false);

    //display logo if any instead of icon
    actionBar.setDisplayShowHomeEnabled(true);
    actionBar.setDisplayUseLogoEnabled(true);

    //show back arrow
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setCustomView(R.layout.include_top_bar);
    
}


同时设置 Activity 的actionBarOverlay 和 fitsSystemWindows 时 

同时设置 Activity 的actionBarOverlay 和 fitsSystemWindows 时,contentView 的topPadding 同时加上statusBar的高度 和 ActionBar的高度, 这应该是个系统bug, 按理ActionBar是浮层了,不应该加上ActionBar的高度了。

解决办法就是不设置  fitsSystemWindow,如果你设置了 windowTranslucentStatus 使状态栏透明了, 那么在你的content view layout中 加上适当的topPadding 就可以了不被status bar 遮挡内容了(其实不必要, 因为status bar 已经透明了)




© 著作权归作者所有

共有 人打赏支持
lightUp
粉丝 10
博文 242
码字总数 287936
作品 0
杭州
程序员
私信 提问
Android ActionBar详解

关于ActionBar,相信大家并不陌生,但是真正能够熟练使用的也不是很多,这篇文章主要为大家详细介绍ActionBar的相关知识,ActionBar是在Android3.0中引入的概念,所以在2.x系统中使用ActionBar...

恰同学少年
2015/08/03
0
0
与Status Bar和Navigation Bar相关的一些东西

与StatusBar和NavigationBar相关的东西有两种,一是控制它们的显示与隐藏,二是控制它们的透明与否及背景。 在2.3及以前,StatusBar只能显示与隐藏,即全屏模式,通过WindowManager.LayoutP...

Jerikc
2015/08/20
0
0
ActionBar 自定义布局定义

Android系统中ActionBar默认的布局不美观且难于控制,通过为ActionBar自定义布局的方式可以灵活控制ActionBar。 效果: 工具/原料 android集成开发环境eclipse、ADT android sdk 3.0及以上 ...

喜欢敲代码的感觉
2015/09/12
991
0
ActionTitleBar

对于android actionbar 的兼容实现,目前用得最多的就是ActionBarSherlock 那么为什么还要重复造一个轮子呢?在实际项目开发中,ActionBarSherlock 的实现无疑是目前最强大的actionbar 兼容实...

打杂程序猿
2013/05/26
6.6K
1
【Android】Toolbar

Toolbar 简述 Toolbar 在v7.21+包中,是一个用来替代ActionBar的组件,可以说是ActionBar的升级版本。Toolbar与ActionBar比较有几个特点: ActionBar属于Window的装饰组件,一个activity中只...

xesam
2014/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

剖析Elasticsearch的IndexSorting:一种查询性能优化利器

摘要: 前言 前两周写过一篇《基于Lucene查询原理分析Elasticsearch的性能》,在最后留了一个彩蛋,说下一篇会介绍一种可以极大的优化查询性能的技术。本文就来介绍这种技术——IndexSortin...

阿里云官方博客
19分钟前
0
0
Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
44分钟前
2
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
49分钟前
6
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
53分钟前
1
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部