View的四种动画,
来源:互联网 发布:淘宝代金券怎么领 编辑:程序博客网 时间:2024/05/16 07:33
代码动画注释,后补xml的布局动画在res目录下一文件夹anim下的aa.xml布局
public class MainActivity extends ActionBarActivity { private Button alphaBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); alphaBtn = (Button) findViewById(R.id.btn_alpha); alphaBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {// AlphaAnimation animation = new AlphaAnimation(0, 1);// animation.setDuration(1000);// v.startAnimation(animation); v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this,R.anim.aa)); } }); }}
<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0" android:toAlpha="1" android:duration="1000" ></alpha>
private Button btnRotate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnRotate = (Button) findViewById(R.id.btn_rotate); btnRotate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {// RotateAnimation rotateAnimation = new RotateAnimation(0, 360, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 0.5f);// rotateAnimation.setDuration(1000);// v.startAnimation(rotateAnimation); v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this,R.anim.anim)); } }); }}
<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:toDegrees="360" android:duration="1000" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"></rotate>
translate的xml
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0" android:toXDelta="200" android:fromYDelta="0" android:toYDelta="200" android:duration="1000"></translate>
scale的xml
<scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="0" android:toXScale="1" android:fromYScale="0" android:toYScale="1" android:duration="1000" android:pivotY="50%" android:pivotX="50%" ></scale>
动画混合的 AnimationSet
public class MainActivity extends ActionBarActivity { private AnimationSet set; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); set = new AnimationSet(true); set.setDuration(1000); final AlphaAnimation aa = new AlphaAnimation(0, 1); aa.setDuration(1000); set.addAnimation(aa); TranslateAnimation ta = new TranslateAnimation(0, 200, 0, 200); ta.setDuration(1000); set.addAnimation(ta); findViewById(R.id.btn_set).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {// v.startAnimation(set); v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this,R.anim.anim)); } }); }混合动画的xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:shareInterpolator="true"> <alpha android:fromAlpha="0" android:toAlpha="1" /> <translate android:fromXDelta="0" android:toXDelta="300" android:fromYDelta="0" android:toYDelta="300" /></set>
自定义动画 例如 按钮摇头
public class CustomAnim extends Animation{ //先于applyTransformation执行,得到控件长宽 @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); } @Override protected void applyTransformation(float interpolatedTime, Transformation t) {// t.setAlpha(interpolatedTime); //interpolatedTime 值为0-1// t.getMatrix().setTranslate(130 * interpolatedTime, 130 * interpolatedTime); t.getMatrix().setTranslate((float) (Math.sin(interpolatedTime*15)*10),0);//控件摇头动画 super.applyTransformation(interpolatedTime, t); }}
public class MainActivity extends ActionBarActivity { private CustomAnim ca; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ca=new CustomAnim(); ca.setDuration(3000); findViewById(R.id.btn_custom).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.startAnimation(ca); } }); }}
0 0
- View的四种动画,
- Android自定义View示例(四)—带有动画的Dialog
- Android动画四:View的animate方法 (ViewPropertyAnimator)
- View的抖动动画
- View的动画效果
- Android的View动画
- Android的View动画
- 传统动画Animation的四种基础动画的使用
- 传统动画Animation的四种基础动画的使用
- 传统动画Animation的四种基础动画的使用
- Android的animation的四种动画
- android学习-动画(基本的四种动画)
- Android 动画效果(二):四种基础动画的 **动态设置、动画监听、组合动画
- Android 四种动画效果的调用
- Android Tween动画的四种方式
- android TWEEN的四种动画
- Android 动画的四种布局
- Android 四种基本的动画效果
- 【杭电-oj】-2013-蟠桃记
- 虚幻4 配置打包安卓
- Linux 2.6.19.x 内核编译配置选项简介(四)
- 《JavaScript权威指南(第六版)》知识点总结(二)
- 李学斌:论复杂系统中的应用间协作V3
- View的四种动画,
- hdoj 5630 Rikka with Chess【思维】
- git合并分支上指定的commit
- iOS中常用几种支付方式
- 简述SVN
- 开源分布式NoSQL数据库系统——Cassandra
- window 常用的cmd命令
- 程序员创业的情怀和梦想
- 通过金矿模型介绍动态规划