|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可能还需要学习使用Xcode这个开发环境,接著你需要掏钱向苹果注册开发者权限,基本的帐号是99美金。本视频为“斯坦福大学iPhone开发教程”,51CTO将不断关注本视频教程的更新进度,为大家提供最新的视频。在前一篇文章中,我们开端懂得android.transition框架并入手下手动手AndroidTransitionExample项目。明天,我们将持续进一步探究怎样利用这些类,和怎样从xml文件中加载他们。
为了利用示例工程,我们能够参照前一篇文章中“利用git实战”章节。上面是文档给出的一些分外提醒。
把持过分效果
让我们来看看怎样把持过分效果。起首,我们要举行一下重构。提取goToScene办法,而不是间接挪用TransitionManager.go()办法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
goButton.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TransitionManager.go(scene);//移除
goToScene(scene);
}
});
...
privatevoidgoToScene(Scenescene){
ChangeBoundschangeBounds=newChangeBounds();
FadefadeOut=newFade(Fade.OUT);
FadefadeIn=newFade(Fade.IN);
TransitionSettransition=newTransitionSet();
transition.setOrdering(TransitionSet.ORDERING_SEQUENTIAL);
transition
.addTransition(fadeOut)
.addTransition(changeBounds)
.addTransition(fadeIn);
TransitionManager.go(scene,transition);
}
转到“extractmethodgoToScene”:
1
gitcheckout6ea37f7
效果是一样的。现实上,假如用AutoTransition效果也一样。可是,如许我们有更多把持,由于如许能把transition汇合里的组件绑定到我们的链接上。比方,我们能够改动动画延续的工夫:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
privatevoidgoToScene(Scenescene){
ChangeBoundschangeBounds=newChangeBounds();
changeBounds.setDuration(1000);
FadefadeOut=newFade(Fade.OUT);
fadeOut.setDuration(1000);
FadefadeIn=newFade(Fade.IN);
fadeIn.setDuration(1000);
TransitionSettransition=newTransitionSet();
transition.setOrdering(TransitionSet.ORDERING_SEQUENTIAL);
transition
.addTransition(fadeOut)
.addTransition(changeBounds)
.addTransition(fadeIn);
TransitionManager.go(scene,transition);
}
转到“slowmotiontransitions”:
1
gitcheckoutfbcc465
由于某些缘故原由,在开辟者选项里的动画把持看起来其实不能影响动画过分效果。
下面的代码让我们能够慢速检察动画。我们能把持的不单单只要过分的工夫罢了,还能够实验增加一个内插程序。典范动画的准绳之一说到:脚色不克不及简复杂单的就入手下手挪动。他们先要展示出要挪动的举措,然后挪动,最初在中断之前完成举措(Overshoot)。利用内置的AnticipateOvershootInterpolator能失掉想要的效果。注重:我们加快了边沿动画的变化效果,以是很简单看到效果。
<p>1
2
3
4
ChangeBoundschangeBounds=newChangeBounds();
<p>changeBounds.setInterpolator(new |
|