博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 过渡动画研究
阅读量:6608 次
发布时间:2019-06-24

本文共 1217 字,大约阅读时间需要 4 分钟。

hot3.png

android 过渡动画研究

,本项目主要学习android4.4以及以上推出的动画实现特效,主要包括两个方面动画

(1)Trasition是4.4推出的   (2)Android的框架层新增了ViewDragHelper这么一个类,官方的DrawerLayout通过它来实现的,
分别简单介绍一下:
a:Android的框架层新增了ViewDragHelper这么一个类,官方的DrawerLayout就是通过它来实现的。 ViewDragHelper是一个『拖拽控制器』,使用它可以用很少的代码实现很流畅的拖拽效果。Android在触摸这一块终于又进了一步。

b:Trasition是4.4推出的,中文名字是:过渡动画,使用它可以做出各种界面变化后的过渡效果。 Transition内部是对多个属性动画的封装,实现原理是通过记录View的初始状态和结束状态,然后通过属性动画进行播放

这个项目是自己对ViewDragHelper与Transition的一个小练习。

下面部分代码如下:

  final DragLayout mDragLayout = (DragLayout) findViewById(R.id.drag_layout);

        mDragLayout.setOnDragListener(this);
        mDragLayout.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
            @Override
            public boolean onPreDraw() {
                mDragLayout.getViewTreeObserver().removeOnPreDrawListener(this);

                TransitionManager.beginDelayedTransition(mSceneRoot, mTransitionPlayer);
                ViewGroup.MarginLayoutParams marginParams = (ViewGroup.MarginLayoutParams) mHeadImg.getLayoutParams();
                marginParams.topMargin = 0;
                mHeadImg.setLayoutParams(marginParams);
                mHeadImg.setAlpha(1.0f);

                mHeadImg.post(new Runnable() {

                    @Override
                    public void run() {
                        mTransitionPlayer.setCurrentFraction(1.0f);

                    }

                });
                return false;
            }
        });

运行效果:

相关代码

转载于:https://my.oschina.net/u/2456358/blog/523560

你可能感兴趣的文章
linux常用资源下载地址
查看>>
如何生成addm报告
查看>>
MongoDB GridFS 初探
查看>>
oracle自动共享内存管理
查看>>
我的友情链接
查看>>
Metasploit 4下无法使用db_autopwn命令的解决
查看>>
挂载与卸载
查看>>
CA证书服务器(3) 数字签名和消息摘要算法
查看>>
RHEL6.3配置文件共享(6) Samba服务之四
查看>>
C++标准库之mutex
查看>>
R语言编程艺术(2)R中的数据结构
查看>>
关于内存溢出产生的死循环
查看>>
haproxy介绍及基本配置
查看>>
ifconfig Command not found 未找到命令
查看>>
利用jQuery实现全选、全不选、反选(checkBox)
查看>>
基于ITIL的医院信息化服务管理实践(客户说)
查看>>
PPP PAP 认证 CHAP 认证
查看>>
shell备份msyql数据库
查看>>
ovirt官方安装文档 附录G
查看>>
9.4/9.5 sed
查看>>