Android 常用知识点-动画
2018-01-25 11:10
253 查看
动画:
两种使用方法:一:在res下建立anim文件然后新建xml文件,二:代码中实现
补间动画:也叫(View动画),不会移动空间的实际位置
缩放
, 平移:
帧动画:
帧动画是顺序播放一组预先定义好的图片,类似播放电影。需要用到
使用方法:在res下建立drawable文件夹建立animation-list,将图片放入文件夹内
ImageView,代码中实现
属性动画:
三个常用类:
private void initView() {
Button bt = (Button) findViewById(R.id.bt_object_animation_activity);
ImageView iv = (ImageView) findViewById(R.id.iv_object_animation_activity);
//改变背景属性
ValueAnimator colorAnim = ObjectAnimator.ofInt(iv, "backgroundColor", Color.parseColor("#FF4081"), Color.CYAN);
colorAnim.setRepeatCount(2);
colorAnim.setRepeatMode(ObjectAnimator.REVERSE);
colorAnim.setDuration(1000);
colorAnim.setEvaluator(new ArgbEvaluator());//估值器
//动画集合
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(iv, "rotationX", 0, 360),//绕x轴旋转360度
ObjectAnimator.ofFloat(iv, "rotation", 0, -90),//逆时针旋转90度
ObjectAnimator.ofFloat(iv, "translationX", 0, 90),//右移
ObjectAnimator.ofFloat(iv, "scaleY", 1, 0.5f),//y轴缩放到一半
ObjectAnimator.ofFloat(iv, "alpha", 1, 0.25f, 1)//透明度变换
);
//延迟一秒开始
set.setStartDelay(1000);
bt.setOnClickListener((v) -> {
//改变属性 位置 向下移动iv高的二分之一
ObjectAnimator.ofFloat(iv, "translationY", iv.getHeight() / 2).start();
//背景属性改变开始
colorAnim.start();
//集合动画
set.setDuration(3000).start();
});
}
作者:英勇青铜5
链接:https://www.jianshu.com/p/6a53ce436fd9
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
private void initView() {
Button bt = (Button) findViewById(R.id.bt_object_animation_activity);
ImageView iv = (ImageView) findViewById(R.id.iv_object_animation_activity);
//改变背景属性
ValueAnimator colorAnim = ObjectAnimator.ofInt(iv, "backgroundColor", Color.parseColor("#FF4081"), Color.CYAN);
colorAnim.setRepeatCount(2);
colorAnim.setRepeatMode(ObjectAnimator.REVERSE);
colorAnim.setDuration(1000);
colorAnim.setEvaluator(new ArgbEvaluator());//估值器
//动画集合
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(iv, "rotationX", 0, 360),//绕x轴旋转360度
ObjectAnimator.ofFloat(iv, "rotation", 0, -90),//逆时针旋转90度
ObjectAnimator.ofFloat(iv, "translationX", 0, 90),//右移
ObjectAnimator.ofFloat(iv, "scaleY", 1, 0.5f),//y轴缩放到一半
ObjectAnimator.ofFloat(iv, "alpha", 1, 0.25f, 1)//透明度变换
);
//延迟一秒开始
set.setStartDelay(1000);
bt.setOnClickListener((v) -> {
//改变属性 位置 向下移动iv高的二分之一
ObjectAnimator.ofFloat(iv, "translationY", iv.getHeight() / 2).start();
//背景属性改变开始
colorAnim.start();
//集合动画
set.setDuration(3000).start();
});
}
作者:英勇青铜5
链接:https://www.jianshu.com/p/6a53ce436fd9
來源:
856c
简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
默认的中心是view 中心
两种使用方法:一:在res下建立anim文件然后新建xml文件,二:代码中实现
补间动画:也叫(View动画),不会移动空间的实际位置
缩放
:TranslateAnimation
, 平移:
ScaleAnimation,旋转:
RotateAnimation,透明:
AlphaAnimation
Animation属性:
xml属性 | jav代码 | 作用 |
---|---|---|
android:detachWallpaper | setDetachWallpaper(boolean) | 是否在壁纸上运行 |
android:duration | setDuration(long) | 动画的持续时间 |
android:fillAfter | setFillAfter(boolean) | 动画结束后是否停留在结束位置 |
android:fillBefore | setFillBefore(boolean) | 动画结束时是否还原开始位置 |
android:fillEnabled | setFillEnabled(boolean) | 同上,与fillBefore相同 |
android:interpolator | setInterpolator(Interpolator) | 设置插值器 |
android:repeatCount | setRepeatCount(int) | 重复次数 |
android:repeatMode | setRepeatMode(int) | 有两种重复类型,reverse倒序回放, restart从头播放 |
android:startOffset | setStartOffset(long) | 开启动画startAnimation(animation)之后等待执行运行动画的时间 |
android:zAdjustment | setZAdjustment(int) | 表示被设置动画的内容运行时在Z轴上的位置(top/bottom/normal),默认为 normal |
帧动画是顺序播放一组预先定义好的图片,类似播放电影。需要用到
AnimationDrawable这个类。
使用方法:在res下建立drawable文件夹建立animation-list,将图片放入文件夹内
ImageView,代码中实现
属性动画:
三个常用类:
ValueAnimator,ObjectAnimator,AnimatorSet
private void initView() {
Button bt = (Button) findViewById(R.id.bt_object_animation_activity);
ImageView iv = (ImageView) findViewById(R.id.iv_object_animation_activity);
//改变背景属性
ValueAnimator colorAnim = ObjectAnimator.ofInt(iv, "backgroundColor", Color.parseColor("#FF4081"), Color.CYAN);
colorAnim.setRepeatCount(2);
colorAnim.setRepeatMode(ObjectAnimator.REVERSE);
colorAnim.setDuration(1000);
colorAnim.setEvaluator(new ArgbEvaluator());//估值器
//动画集合
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(iv, "rotationX", 0, 360),//绕x轴旋转360度
ObjectAnimator.ofFloat(iv, "rotation", 0, -90),//逆时针旋转90度
ObjectAnimator.ofFloat(iv, "translationX", 0, 90),//右移
ObjectAnimator.ofFloat(iv, "scaleY", 1, 0.5f),//y轴缩放到一半
ObjectAnimator.ofFloat(iv, "alpha", 1, 0.25f, 1)//透明度变换
);
//延迟一秒开始
set.setStartDelay(1000);
bt.setOnClickListener((v) -> {
//改变属性 位置 向下移动iv高的二分之一
ObjectAnimator.ofFloat(iv, "translationY", iv.getHeight() / 2).start();
//背景属性改变开始
colorAnim.start();
//集合动画
set.setDuration(3000).start();
});
}
作者:英勇青铜5
链接:https://www.jianshu.com/p/6a53ce436fd9
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
private void initView() {
Button bt = (Button) findViewById(R.id.bt_object_animation_activity);
ImageView iv = (ImageView) findViewById(R.id.iv_object_animation_activity);
//改变背景属性
ValueAnimator colorAnim = ObjectAnimator.ofInt(iv, "backgroundColor", Color.parseColor("#FF4081"), Color.CYAN);
colorAnim.setRepeatCount(2);
colorAnim.setRepeatMode(ObjectAnimator.REVERSE);
colorAnim.setDuration(1000);
colorAnim.setEvaluator(new ArgbEvaluator());//估值器
//动画集合
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(iv, "rotationX", 0, 360),//绕x轴旋转360度
ObjectAnimator.ofFloat(iv, "rotation", 0, -90),//逆时针旋转90度
ObjectAnimator.ofFloat(iv, "translationX", 0, 90),//右移
ObjectAnimator.ofFloat(iv, "scaleY", 1, 0.5f),//y轴缩放到一半
ObjectAnimator.ofFloat(iv, "alpha", 1, 0.25f, 1)//透明度变换
);
//延迟一秒开始
set.setStartDelay(1000);
bt.setOnClickListener((v) -> {
//改变属性 位置 向下移动iv高的二分之一
ObjectAnimator.ofFloat(iv, "translationY", iv.getHeight() / 2).start();
//背景属性改变开始
colorAnim.start();
//集合动画
set.setDuration(3000).start();
});
}
作者:英勇青铜5
链接:https://www.jianshu.com/p/6a53ce436fd9
來源:
856c
简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
默认的中心是view 中心
rotationX围绕x轴旋转,
rotationY围绕Y轴旋转,
相关文章推荐
- Android常用动画ListView动画显示
- Android常用动画
- Android积累--常用小知识点
- 分享:android 源码——Webview开发常用知识点
- android 常用动画
- Android知识点之网络底层封装:细数常用的网络请求框架
- Android中常用动画效果
- android开发常用知识点备忘录
- Android常用的动画和小型代码理解
- Android常用知识点总汇
- Android开发常用的热门的第三方库(网络请求、banner轮播、tablayout、动画、进度条、视频播放、弹幕等)
- Android动画学习(三)之补间动画常用的实例
- Android常用知识点总汇
- Android开发之常用的loading等待效果实现,仿微博等待动画。两种实现方式详解
- Android常用知识点总汇
- Android 动画小知识点
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- Android三种常用动画分享
- Android中那些似懂非懂的常用知识点与好用的 Eclipse快捷键
- Android 项目中常用小知识点.