首页 > 代码库 > actionbar使用的一些技巧
actionbar使用的一些技巧
actionbar是开发经常用得到了。但是对于刚刚入门android的我来说。确实有点捉摸不透,但是经过这几天的折腾,终于知道了一些技巧
1.如果在你的Activity中使用到ActionBar的话,那么你的Activity是继承ActionBarActivity,当然你也可以选择其他的Activity,但是我在这里想要说的的是,在项目中,看你喜欢哪一种风格而已,现在android的开源项目很多。想要用到ActionBarActivity的话,必须引入你的依赖工程。在你的sdk的目录下,比如:F:\android\adt-bundle-windows-x86_64-20140321\sdk\extras\android\support\v7\appcompat,然后倒入到你的workspace中去。这样才可以依赖你的工程。
2.当然在你的sdk下也有你想要的ActionBar的demo,也在你的sdk目录下,比如说我的目录下:F:\android\adt-bundle-windows-x86_64-20140321\sdk\extras\android\support\samples\Support7Demos
倒入这个这个demo工程的话,你必须将support\v7\的三个工程全部倒入到你的工程。因为这三个工程是依赖工程来的。运行之后你就可以看到你想要的demo效果再去看看源码是怎样实现的。
3.在最近的项目中,因为是要做一个类似于威信的搜索界面。当你点击搜索图标的时候,你要弹出一个界面来实现提供用户输入关键字来搜索你想要的内容。当中项目又用到了ActionBar,如果是自己实现的TitleBar的话,就很清楚里面的实现。用到了ActionBar,只有你很清楚里面的实现,你才能完成任务。
当你点击搜索框的时候,想要弹出一个透明的窗体来给用户输入。然后弹出的这个透明窗体中没有办法覆盖之前的ActionBar中的Title,Icon,Logo等等。然后就要用到了ActionBar里面的方法。这个可以通过上面引入的demo来观察。
在弹出窗体之后是这样的效果:
如果你没对ActionBar进行一些处理的话,ActionBar里面的内容会显示给用户,这样的效果不好,我想要做的事情就是将这些ActionBar里面的内容给隐藏。
这时你就可以在你当前的上下文获取到ActionBar,然后在设置你想要隐藏的内容了。
下面是对ActionBar进行隐藏的一些方法
1. ActionBar bar = getSupoortActionBar();//可以设置为全局变量
2.bar.setDisplayShowCustomEnabled(boolean);
bar.setDisplayShowTitleEnabled(boolean);
bar.setDisplayUseLogoEnabled(boolean);
bar.setDisplayShowHomeEnabled(boolean);
这样就达到我想要的效果了。