《Android那些事》——清晰理解各个Animation
来源:互联网 发布:windows 2000系统 编辑:程序博客网 时间:2024/06/07 06:56
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button Alpha_Btn, Scale_Btn, Rotate_Btn, Translate_Btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Alpha_Btn = (Button) findViewById(R.id.alpha); Scale_Btn = (Button) findViewById(R.id.scale); Rotate_Btn = (Button) findViewById(R.id.rotate); Translate_Btn = (Button) findViewById(R.id.translate); Alpha_Btn.setOnClickListener(this); Scale_Btn.setOnClickListener(this); Rotate_Btn.setOnClickListener(this); Translate_Btn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { //淡入淡出 case R.id.alpha: //第一步,创建AnimationSet对象 AnimationSet animationSet_1 = new AnimationSet(true); //第二步,创建相应的动画 AlphaAnimation alpha = new AlphaAnimation(1, 0);//从透明度为1到透明度为0 //第三步,设置动画执行时间 alpha.setDuration(2000); //第四步,将动画放入动画集中 animationSet_1.addAnimation(alpha); //第五步,作用于控件之上 Alpha_Btn.startAnimation(animationSet_1); break; //缩放 /** * 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的坐标类型 RELATIVE_TO_SELF相对于自己,RELATIVE_TO_PARENT相对于父view * float pivotXValue 动画相对于物件的X坐标的开始位置 * int pivotYType 中心点Y的坐标类型 RELATIVE_TO_SELF相对于自己,RELATIVE_TO_PARENT相对于父view * float pivotYValue 动画相对于物件的Y坐标的开始位置 */ case R.id.scale: AnimationSet animationSet_2 = new AnimationSet(true); ScaleAnimation scale = new ScaleAnimation(1, 0.1f, 1, 0.1f, Animation.RELATIVE_TO_SELF, 1f, Animation.RELATIVE_TO_SELF, 1f); scale.setDuration(2000); animationSet_2.addAnimation(scale); /** 常用方法 */ //scale.setRepeatCount(int repeatCount);//设置重复次数 //scale.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态 //scale.setStartOffset(long startOffset);//执行前的等待时间 Scale_Btn.startAnimation(animationSet_2); break; //旋转 //RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) /** * float fromDegrees:旋转的开始角度。 * float toDegrees:旋转的结束角度。 * int pivotXType:中心点x的坐标类型 RELATIVE_TO_SELF相对于自己,RELATIVE_TO_PARENT相对于父view * float pivotXValue:X坐标的伸缩值。 * int pivotYType:中心点Y的坐标类型 RELATIVE_TO_SELF相对于自己,RELATIVE_TO_PARENT相对于父view * float pivotYValue:Y坐标的伸缩值。 */ case R.id.rotate: AnimationSet animationSet_3 = new AnimationSet(true); RotateAnimation rotate = new RotateAnimation(0, 360,//从什么度数到什么度数 Animation.RELATIVE_TO_SELF, 0.5f,//x轴绕着哪个对象旋转,旋转的x坐标是多少 Animation.RELATIVE_TO_SELF, 0.5f);//y轴绕着哪个对象旋转,旋转的y坐标是多少 rotate.setDuration(2000); animationSet_3.addAnimation(rotate); /** 常用方法 */ //rotate.setRepeatCount(int repeatCount);//设置重复次数 //rotate.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态 //rotate.setStartOffset(long startOffset);//执行前的等待时间 Rotate_Btn.startAnimation(animationSet_3); break; //移动 //TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) /** * float fromXDelta 动画开始的点离当前View X坐标上的差值 * float toXDelta 动画结束的点离当前View X坐标上的差值 * float fromYDelta 动画开始的点离当前View Y坐标上的差值 * float toYDelta 动画开始的点离当前View Y坐标上的差值 */ case R.id.translate: AnimationSet animationSet_4 = new AnimationSet(true); TranslateAnimation translate = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0f, Animation.RELATIVE_TO_PARENT, 1f, Animation.RELATIVE_TO_PARENT, 0f, Animation.RELATIVE_TO_PARENT, 1f); translate.setDuration(2000); /** 常用方法 */ //translate.setRepeatCount(int i);//设置重复次数 //translate.setRepeatMode(Animation.REVERSE);//设置反方向执行 animationSet_4.addAnimation(translate); Translate_Btn.startAnimation(animationSet_4); break; } }
阅读全文
1 0
- 《Android那些事》——清晰理解各个Animation
- 清晰理解 Android Service
- sql语句那些事——你的脸庞渐渐变得清晰
- Android Animation——drawable animation
- Android Animation——view animation
- Android—Animation
- 数据库范式那些事(清晰)
- android各个层次的理解
- Android动画——Animation
- Android——Animation详解
- Android—Animation的使用
- Android 动画——Frame Animation与Tween Animation
- Android开发之Animation介绍(下) ——Property Animation
- Android 动画——Frame Animation与Tween Animation
- android Animation 对Android动画的理解
- 主题:android学习——android Animation
- android clipRect Op.xxx各个参数理解
- Android应用开发——Property Animation
- Java中的自动装箱与拆箱
- tf.nn.seq2seq.sequence_loss_by_example函数用法
- 【SPOJ7001】Visible Lattice Points-莫比乌斯反演+分块
- (150)带光照的半透明物体
- Tarjan算法研究:求強連通分量、橋、割
- 《Android那些事》——清晰理解各个Animation
- C语言堆栈问题
- 网络:TCP通讯之 time_wait 状态
- sonarqube项目按权限分配
- 聊聊树莓派吧(1)
- 【HashMap】JAVA HASHMAP的死循环
- CG中的几何学(点,向量以及法线)【1】
- Java求1-100之和的三种方式
- 1352 [BA1002] The Account class