"Android中的动画"-Android面试必问"精华技能点"汇总
16lz
2021-01-24
- 一Android中的动画有哪几类它们的特点和区别是什么
- 帧动画图像动画Drawable Animation
- 补间动画View Animation
- 属性动画Property Animation-是30之后才有的
- 属性动画和补间动画的区别
- 动画插入器是什么
- 二如何修改Activity进入和退出动画
- 一通过定义Activity的主题
- 在stylesxml中编辑如下代码
- 添加themesxml文件
- 二通过覆写Activity的overridePendingTransition 方法
- 一通过定义Activity的主题
一.Android中的动画有哪几类,它们的特点和区别是什么?
根据谷歌官方文档,动画分为3种:
1.帧动画/图像动画(Drawable Animation)
- 1.xml方式->配置一组图片,动态播放
2.补间动画(View Animation)
- 1.位移动画
- 2.缩放动画
- 3.旋转动画
- 4.透明动画
- 5.集合
3.属性动画(Property Animation)-是3.0之后才有的
- 拥有补间动画所有的功能
属性动画和补间动画的区别:
- 补间动画:
- 是父容器不断的绘制view,看起来像移动了效果,其实view没有变化,还在原地
- 属性动画:
- 是通过不断改变自己view的属性值,真正的改变view.
- 两者的代码写法如下:
//补间动画public void clickViewAnimation(View view) { //位移动画,x方向不变,y有0->250 TranslateAnimation animation = new TranslateAnimation(0, 0, 0, 250); //时长 animation.setDuration(2000); //停在结果位置 animation.setFillAfter(true); //控件开始动画,传入动画 iv.startAnimation(animation);}//属性动画public void clickViewProperty(View view) { //动画对象:控件以及动画的类型都写在里面,然后是一组"不尽"的数组:比如Y方向的0->250又上又下 ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "translationY", 0, 250, 100, 200, 250); //时长 animator.setDuration(5000); //对象开始 animator.start();}//测试他两的区别public void clickIv(View view) { Toast.makeText(this, "点击了图片", Toast.LENGTH_SHORT).show();}
动画插入器是什么?
- 是各种效果实现所要用到的,比如加速,比如来回摆动等等
- 用法是:(一句代码)直接在动画开始前设置即可:
animation.setInterpolator(new XXXInterpolator())
二.如何修改Activity进入和退出动画
(可以通过两种方式):
一通过定义Activity的主题
在styles.xml中编辑如下代码:
添加themes.xml文件:
二通过覆写Activity的overridePendingTransition 方法。
overridePendingTransition(R.anim.fade, R.anim.hold);
@Overridepublic void overridePendingTransition(int enterAnim, int exitAnim) { super.overridePendingTransition(enterAnim, exitAnim);}
更多相关文章
- android activity 属性解释
- 【Android】第4章(5) 示例--列出手机上的所有联系人
- android 使用Lottie实现Android动画
- android简单demo学习系例之排版(TableLayout)[xml-based]
- 1. 0 Android(安卓)开发中的界面编程
- <转>android 中px,sp等的区别
- Android(安卓)Parcelable和Serializable的区别(一)
- Android画图学习总结(四)——Animation(中)
- 2112-7-18 android切屏动画overridePendingTransition的应用