Android ActionBar应用一:ActionBar返回任意页面和顶部搜索栏实现


转载请注明出处:http://blog.csdn.net/cyp331203/article/details/44922863


Action Bar是app应用顶部的一个方形区域,不一定总会显示(如全屏Theme时),它属于窗口的一部分,有点类似于windows的窗口的标题栏,如下图所示:

                 



ActionBar简要介绍:


如上图所示,标题栏一般会有三类按钮:

1、可以称为home区,这里有一个标识app的按钮,这个按钮默认不被激活,图片显示默认跟app的图标一致

2、可以称为按钮区,显示在按钮区的多个标题栏按钮

3、“更多”按钮,点击可以下拉出隐藏的标题栏按钮,俗称:"overflow"


需要明确的一点是:

ActionBar的API最早是在Android 3.0(API Level 11)的时候加入Android中的,但是我们也可以在Android 2.1(API Level 7)以上的版本使用它,只是需要加入支持包,也就是通常说的 v4 support library v7 support library


一般来说,为了兼容性考虑,在写应用的时候,都会使用兼容性包里的ActionBar相关API,而不会去使用系统自带的,所以后面的部分默认都是基于V4和V7包中的内容来介绍。


在导入要使用兼容性包中的ActionBar,我们的MainActivity或者其他XxxActivity就不能在继承自Activity了,需要换成:ActionBarActivity,然后还需要在清单文件中,换成AppCompat主题或者其子主题,关于主题可以看这一篇ActionBar主题颜色


拿到ActionBar对象:

public class MainActivity extends ActionBarActivity

<activity android:theme="@style/Theme.AppCompat.Light" ... >

然后,可以通过下面一句代码,拿到ActionBar的对象:

ActionBar mActionBar = getSupportActionBar();


然后可以调用下面两句,让整个actionBar显示或者隐藏:

mActionBar.hide();
mActionBar.show();


激活home区按钮:

但是单单是拿到这个对象,并没什么用,还是不能点击,需要做进一步处理,这里类似于Button的使能设置,setEnable:

mActionBar.setHomeButtonEnabled(true);
mActionBar.setDisplayShowHomeEnabled(true);//这两句就可以让actionBar的图标可以响应点击事件

mActionBar.setDisplayHomeAsUpEnabled(true);//这一句主要用于后面返回效果,后面会讲

设置按钮区:

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值