ActionBar compat 如何关闭ActionBar的显示隐藏动画

@Override

    public boolean onCreateOptionsMenu(Menu menu) {

        //消除动画效果

        disableABCShowHideAnimation(getSupportActionBar());

        return super.onCreateOptionsMenu(menu);

    }

 public static void disableABCShowHideAnimation(ActionBar actionBar) {

        try

        {

            actionBar.getClass().getDeclaredMethod("setShowHideAnimationEnabled", boolean.class).invoke(actionBar, false);

        }

        catch (Exception exception)

        {

            try {

                Field mActionBarField = actionBar.getClass().getSuperclass().getDeclaredField("mActionBar");

                mActionBarField.setAccessible(true);

                Object icsActionBar = mActionBarField.get(actionBar);

                Field mShowHideAnimationEnabledField = icsActionBar.getClass().getDeclaredField("mShowHideAnimationEnabled");

                mShowHideAnimationEnabledField.setAccessible(true);

                mShowHideAnimationEnabledField.set(icsActionBar,false);

                Field mCurrentShowAnimField = icsActionBar.getClass().getDeclaredField("mCurrentShowAnim");

                mCurrentShowAnimField.setAccessible(true);

                mCurrentShowAnimField.set(icsActionBar,null);

                //icsActionBar.getClass().getDeclaredMethod("setShowHideAnimationEnabled", boolean.class).invoke(icsActionBar, false);

            }catch (Exception e){

                //....

            }

        }

    }

其实在ActionBar的实现中时有setShowHideAnimationEnabled这个方法来控制动画显示的。

但是ActionBar这一抽象类不提供这一功能

ActionBar compat 如何禁用ActionBar的显示/隐藏动画的更多相关文章

  1. jQuery动画之显示隐藏动画

    1. 显示动画 以下面一个代码示例: <!doctype html> <html lang="en"> <head> <meta char ...

  2. android布局中显示隐藏动画

    android 在布局中提供属性,能简单的加入动画效果,例如以下: <LinearLayout ... animateLayoutChanges="true" ... /&g ...

  3. AngularJS中实现显示或隐藏动画效果的3种方式

    本篇体验在AngularJS中实现在"显示/隐藏"这2种状态切换间添加动画效果. 通过CSS方式实现显示/隐藏动画效果 思路: →npm install angular-anima ...

  4. 如何灵活使用 ActionBar, Google 音乐ActionBar 隐藏和显示效果

    ActionBar 的历史这里就不介绍了,相信大家都清楚:在一个 app 中,如果 ActionBar 运用的好,那么将会省去大量的代码,而且整个 app 效果也相当不错,大家有兴趣可以下载 goog ...

  5. 自动显示隐藏布局的listView

    借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布局,并且带有动画效果. 1.自动显示 ...

  6. Android上实现各种风格的隐藏菜单,比如左右滑动菜单、上下滑动显示隐藏菜单

    Android上的菜单展示风格目前是各式各样的,但用的最多且体验最好的莫过于左右滑动来显示隐藏的菜单本示例实现了各种方式的菜单展示效果,只有你想不到的源码:https://github.com/Sim ...

  7. ActionBar官方教程(9)ActionBar的顶部tab模式(注意,已经被弃用)

    This interface is deprecated.Action bar navigation modes are deprecated and not supported by inline ...

  8. Easyui datagrid 显示隐藏列

    html:         <div style="float: left; width: 1450px; height:auto;  ">             & ...

  9. 使用toggle()方法进行显示隐藏

    这是一个示例: <html> <head> <script type="text/javascript" src="http://keley ...

随机推荐

  1. MVC,MVP 和 MVVM

    复杂的软件必须有清晰合理的架构,否则无法开发和维护.MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 ...

  2. Dynamics AX 2012 R2 安装Reporting Services 扩展

    今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Rei ...

  3. Linux:-杀进程的技巧

    <---kill进程的技巧---> 1.杀掉某个关键字的进程 pgrep -f 2.批量杀掉某个关键字的进程 pkill - "name" 3.批量杀掉多个关键字的进程

  4. 【转载】Log4j详细使用教程

    本文由林炳文Evankaka创作,出处http://blog.csdn.net/evankaka 日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日 ...

  5. Volley 实现原理图

    1.启动requestQueue 2. 添加请求 3. 启动cacheDispatcher 4.启动networkDispatcher 5. 数据分发

  6. knockoutjs(二)

    Observables(监控属性)Knockout是在下面三个核心功能是建立起来的: 1监控属性(Observables)和依赖跟踪(Dependency tracking) 2声明式绑定(Decla ...

  7. mac攻略(七) -- 环境变量PATH分析

      一.首先需要了解 1>mac 一般使用bash作为默认shell 2>Mac系统的环境变量,加载顺序为: 1.系统级别的 /etc/profile /etc/bashrc /etc/p ...

  8. python中的 __slots__

    __slots__的作用是防止给class instance分配dict,达到控制instance 成员和节省内存的作用 class Slots(object): __slots__=("n ...

  9. xfs磁盘(文件)碎片查看和整理

    网上有些帖子说XFS不用做碎片整理,其实是错误的.XFS用延迟写入等技术确实可以减少碎片的出现,但是如果服务器用了几年,并且文件操作比较频繁,还是会出现碎片的,应该整理.注意:在Debian中XFS相 ...

  10. fzuoj1111Radar Installation (贪心)

    题目大意是在海岸线布置n个雷达,要求雷达的范围要包含所有的小岛: 思路:逆向思维把小岛看成一个个范围,与海岸线的交集,从最左端的开始找 (贪心最左端的点),接着不用一个一个去遍历,直接用前一个的右端点 ...