三种动画的简单用法——学习笔记
来源:互联网 发布:排课表的软件 编辑:程序博客网 时间:2024/06/05 11:52
AlphaAnimation——透明度渐变动画
ScaleAnimation ——缩放动画
RotateAnimation——旋转动画
①ScaleAnimation动画相关方法的参数:
ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
参数说明:
float fromX 动画起始时 X坐标上的伸缩尺寸
float toX 动画结束时 X坐标上的伸缩尺寸
float fromY 动画起始时Y坐标上的伸缩尺寸
float toY 动画结束时Y坐标上的伸缩尺寸
int pivotXType 动画在X轴相对于物件位置类型
float pivotXValue 动画相对于物件的X坐标的开始位置
int pivotYType 动画在Y轴相对于物件位置类型
float pivotYValue 动画相对于物件的Y坐标的开始位置
②RotateAnimation动画相关方法的参数
RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
参数说明:
float fromDegrees:旋转的开始角度。
float toDegrees:旋转的结束角度。
int pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotXValue:X坐标的伸缩值。
int pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotYValue:Y坐标的伸缩值。
以下是一个简单的例子
布局界面代码为:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/splash_bg" android:id="@+id/splash_root"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_laugh" android:layout_centerInParent="true"/></RelativeLayout>
Activity代码为:
public class SplashActivity extends AppCompatActivity { private RelativeLayout splash_rl_root; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); splash_rl_root = (RelativeLayout) findViewById(R.id.splash_root); //动画 AlphaAnimation aa = new AlphaAnimation(0, 1); //渐变动画 //aa.setDuration(500); //持续播放时间 aa.setFillAfter(true); //动画结束后保持状态 ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1, ScaleAnimation.RELATIVE_TO_SELF, 0.5f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f); //缩放动画 //sa.setDuration(500); sa.setFillAfter(true); RotateAnimation ra = new RotateAnimation(0, 360, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 0.5f); //旋转动画 // ra.setDuration(500); ra.setFillAfter(true); AnimationSet set = new AnimationSet(false); //是否加速 //添加三个动画没有先后顺序 set.addAnimation(aa); set.addAnimation(sa); set.addAnimation(ra); set.setDuration(2000); //同时设置播放时间 splash_rl_root.startAnimation(set); //同时播放三个动画 set.setAnimationListener(new MyAnimationListener()); //给动画设置一个监听 } class MyAnimationListener implements Animation.AnimationListener{ /* 当动画开始播放的时候调用 */ @Override public void onAnimationStart(Animation animation) { } /* 当动画播放结束的时候调用 */ @Override public void onAnimationEnd(Animation animation) { Toast.makeText(SplashActivity.this, "动画播放完成!", Toast.LENGTH_SHORT).show(); } /* 当动画重复播放的时候调用 */ @Override public void onAnimationRepeat(Animation animation) { } }}
下面是运行图片
- 三种动画的简单用法——学习笔记
- ios学习笔记(三)简单动画
- Android动画学习笔记(三)—基础动画小结
- 三种简单的动画设置——IOS
- RadioGroup的RadioButton简单用法——学习笔记
- Android学习笔记(9)————Android的三种Menu用法
- Android学习笔记(9)————Android的三种Menu用法
- Android学习笔记(9)————Android的三种Menu用法
- php——学习笔记,圆周率的三种书写方法看float用法
- Android学习笔记——用ObjectAnimator平移动画仿微信表情雨的简单实现
- 【C#学习笔记】反射的简单用法
- 简单的makefile文件三种写法学习笔记
- D3D学习笔记之六---简单的动画实现。
- 使用SlidingMenu创建左侧滑动菜单+Fragment的简单用法——学习笔记
- xsj的Java学习笔记——面向对象三大特征简单小结
- 菜鸟集中营,android的三种动画基础用法。
- 动画—Core Animation初步学习三:关键帧动画
- 绘图与动画学习笔记(三)
- mac command
- Java IO 键盘录入
- linux 动态库的加载与调用
- Java中父类子类一点心得
- Java HashMap遍历几种方式
- 三种动画的简单用法——学习笔记
- 环境搭建
- 解决:QT VS tools The following error occured
- How to recover from USB pipe errors
- HDU6030 Happy Necklace(矩阵快速幂)
- acm: 排序--快速排序(2/2)
- 多源传感器融合
- Android四大组件之Service详解(二)——Service在音乐播放器中的使用
- 方法finalize()的应用