ActionBar隐藏与出现
来源:互联网 发布:无尽之剑3宝石数据修改 编辑:程序博客网 时间:2024/05/01 15:26
项目做了一次小的启动优化, 由于某种原因,launchActivity被我拿掉直接并到了MainActivity里(专门为launch的splash准备一个Activity其实挺浪费的).
结果出现了著名的启动白屏问题, 这个问题之前就碰到过,root cause其实是android的渲染层机制,直接原因就是因为Activity使用了ActionBar(当然了,不知道sherlockactionbar会不会有同样问题),贴一篇将app启动的文章吧, http://cyrilmottier.com/2013/01/23/android-app-launching-made-gorgeous/, 讲的不算深,但是还不错.
知道了这个原因,问题就好办了,把ActionBar拿掉显然不行,因为在项目中已经根深蒂固了,老实说,我对ActionBar的印象不好,虽然Android设计文档中推荐,简单的App用当然很好用,封装的好,分离性也好,但是涉及到复杂的交互时,因为ActionBar的特殊地位与相对独立的控制,Action
Bar反而会成为累赘与例外制造者,并且,完全可以用fragment之类的机制来实现同样的效果,不说了,反正现在也那不掉.
既然拿不掉,那么hide不就OK了么? 结果发现没有用,一直显示…, 并且我在hide的注释里还找到一个建议:
Instead of calling this function directly, you can also cause an
ActionBar using the overlay feature to hide through
{@link View#SYSTEM_UI_FLAG_FULLSCREEN View.SYSTEM_UI_FLAG_FULLSCREEN}.
Hiding the ActionBar through this system UI flag allows you to more
seamlessly hide it in conjunction with other screen decorations.
显然是建议我尝试SYSTEM_UI_FLAG_FULLSCREEN,还是没有用……….
后来采用了一种曲线救国的办法: Activity的Theme不能直接设置,要在onCreate 中setTheme(有ActionBar的样式),然后getActionBar.hide(都要在setContentView之前,常识), setContentView(splash layoput),然后,在splash之后setContentView(content layout), getActionBar.show().终于做到隐藏然后出现了.
抽时间把ActionBar的源码实现看看吧. ActionBar貌似一直是个trouble-maker.
- ActionBar隐藏与出现
- SearchView与隐藏显示actionbar
- Android ActionBar的显示与隐藏
- 隐藏ActionBar
- 显示和隐藏ActionBar
- ActionBar隐藏app图标
- 隐藏ActionBar中的MenuItem
- ActionBar隐藏方法
- 隐藏ActionBar标题栏
- 隐藏/移除actionbar
- Android 隐藏ActionBar
- 关于隐藏ActionBar
- ActionBar图标文字隐藏:
- 引入布局+隐藏ActionBar
- android 如何隐藏ActionBar
- ActionBar详解(一)--->显示和隐藏ActionBar
- Silverlight 鼠标出现与离开 作用块出现与隐藏
- 如何隐藏ActionBar的标题栏
- sudo
- 字符串的合并
- 11、接口——interface
- 【java】Volatile使用与理解
- phonegap学习笔记1——创建工程 使用插件
- ActionBar隐藏与出现
- linux下jrtplib库移植到android上
- 内核模块遍历进程和任务队列保存到proc文件中
- 12、static与final关键字详解
- 第二周课程管理实践总结
- 二叉查找树及平衡二叉查找树
- 快速排序
- MATLAB学习笔记(三)
- 第三章第39题