Android属性动画伸展收缩效果
Android 里的属性动画,真的是个挺强的工具,适合做那种页面伸展收缩的效果,像是抽屉菜单、可折叠的列表啥的,用起来还挺顺手的。比起老一套的视图动画,属性动画可是真动对象属性,不是糊弄人的假动作。
布局的伸展收缩,一般会用到ObjectAnimator。你只要指定一下开始和结束的高度,它就能帮你把动画慢慢地播出来,效果挺自然的。
比如说,你想让一个面板从 0 展开到 500 像素高,代码就这样:
ObjectAnimator expandAnim = ObjectAnimator.ofInt(view, "height", 0, 500);
expandAnim.setDuration(500);
expandAnim.setInterpolator(new AccelerateDecelerateInterpolator());
expandAnim.start();
除了高度,属性动画还能改透明度、旋转、位置啥的,甚至多个动画还可以通过AnimatorSet组合一起放。你也可以加上监听器,用Animator.AnimatorListener
做些善后,比如动画结束后再加载内容,体验会更丝滑。
还有个小建议:动画期间尽量别做太重的操作,比如频繁更新 UI,不然会卡顿,用户看着就不舒服。
如果你对代码细节感兴趣,可以看看DEMO1里的实现,基本上包括了布局文件、逻辑代码、动画类等等。看一遍照着撸一遍,就能灵活运用了。
属性动画真的挺灵活的,如果你还没在项目里玩过伸展收缩的效果,建议抽空试试,说不定你会爱上这种流畅感。
7.42MB
文件大小:
评论区