Animation的巧妙使用

编程入门 行业动态 更新时间:2024-10-10 05:18:50

Animation的<a href=https://www.elefans.com/category/jswz/34/1752589.html style=巧妙使用"/>

Animation的巧妙使用

为了给UI做出一些比较炫的效果,往往要使用多种Animation结合使用或者是多个控件同时使用一种Animation。而后者需要按照一定规律来使用,下面是具体实例:

现在要做的其实和昨天差不多,不同的现在要做一个动画效果就是当点击Start按钮时,左边四个按钮会依次以减速运动出现,该效果会给人一种不一样的感觉,能增加用户的体验。



和昨天不同的就是重新定义了几个anim文件夹下的xml文件:



其中一个内容如下:

[java] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <set xmlns:android="" >
  3. <translate
  4. android:startOffset="1500"
  5. android:duration="5000"
  6. android:fromXDelta="-100%"
  7. android:fromYDelta="0%"
  8. android:interpolator="@android:anim/decelerate_interpolator"
  9. android:toXDelta="0%"
  10. android:toYDelta="0%" />
  11. </set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="" ><translateandroid:startOffset="1500"android:duration="5000"android:fromXDelta="-100%"android:fromYDelta="0%"android:interpolator="@android:anim/decelerate_interpolator"android:toXDelta="0%"android:toYDelta="0%" /></set>

其余的就是在startOffset上面的更改,意思是当启动这个Animation时延迟多少毫秒,每个定义的Animation都比上一个晚一点,而每个Button依次绑定各个xml文件所以就有了依次出现的效果

这是Activity代码:

[java] view plain copy print ?
  1. package sina.CreAmazing.muti_button;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.view.animation.AnimationUtils;
  7. import android.widget.Button;
  8. public class MutiButtonActivity extends Activity {
  9. /** Called when the activity is first created. */
  10. private Button btStart;
  11. private Button bt1;
  12. private Button bt2;
  13. private Button bt3;
  14. private Button bt4;
  15. @Override
  16. public void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.main);
  19. findViews();
  20. btStart.setOnClickListener(new OnClickListener() {
  21. @Override
  22. public void onClick(View v) {
  23. // TODO Auto-generated method stub
  24. startAnimation();
  25. }
  26. });
  27. }
  28. private void findViews() {
  29. // TODO Auto-generated method stub
  30. btStart = (Button) findViewById(R.id.bt_start);
  31. bt1 = (Button) findViewById(R.id.bt1);
  32. bt2 = (Button) findViewById(R.id.bt2);
  33. bt3 = (Button) findViewById(R.id.bt3);
  34. bt4 = (Button) findViewById(R.id.bt4);
  35. }
  36. private void startAnimation() {
  37. bt1.startAnimation(AnimationUtils.loadAnimation(this,
  38. R.anim.bt_translate1));
  39. bt2.startAnimation(AnimationUtils.loadAnimation(this,
  40. R.anim.bt_translate2));
  41. bt3.startAnimation(AnimationUtils.loadAnimation(this,
  42. R.anim.bt_translate3));
  43. bt4.startAnimation(AnimationUtils.loadAnimation(this,
  44. R.anim.bt_translate4));
  45. }
  46. }
package sina.CreAmazing.muti_button;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;public class MutiButtonActivity extends Activity {/** Called when the activity is first created. */private Button btStart;private Button bt1;private Button bt2;private Button bt3;private Button bt4;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);findViews();btStart.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstartAnimation();}});}private void findViews() {// TODO Auto-generated method stubbtStart = (Button) findViewById(R.id.bt_start);bt1 = (Button) findViewById(R.id.bt1);bt2 = (Button) findViewById(R.id.bt2);bt3 = (Button) findViewById(R.id.bt3);bt4 = (Button) findViewById(R.id.bt4);}private void startAnimation() {bt1.startAnimation(AnimationUtils.loadAnimation(this,R.anim.bt_translate1));bt2.startAnimation(AnimationUtils.loadAnimation(this,R.anim.bt_translate2));bt3.startAnimation(AnimationUtils.loadAnimation(this,R.anim.bt_translate3));bt4.startAnimation(AnimationUtils.loadAnimation(this,R.anim.bt_translate4));}
}
其实还可通过Animation制作出更多有趣的效果,反着退出去,以一定轨迹旋转进入,闪烁显示,电影里那种报纸头条旋转变大显示。。。。。。只要自己善于观察,就会发现很多有趣的事情
项目源代码如下:

.rar

更多推荐

Animation的巧妙使用

本文发布于:2024-03-10 09:00:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727536.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:巧妙   Animation

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!