补间动画

2019-04-11  本文已影响0人  清风兑酒

1.res下创建anim包

(1).透明度渐变:
<alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.1"
        android:duration="2000"
        />
(2).缩放渐变:
<scale
        android:fromXScale="0.2"
        android:toXScale="1.5"
        android:fromYScale="0.2"
        android:toYScale="1.5"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="2000"/>
(3).位移渐变:
 <translate
        android:fromYDelta="0"
        android:toYDelta="320"
        android:fromXDelta="0"
        android:toXDelta="0"
        android:duration="2000"/>
(4).旋转渐变:
<rotate
        android:fromDegrees="0"
        android:toDegrees="360"
        android:duration="3000"
        />
(5).组合渐变:
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="true">

    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.1"
        />
    <rotate
        android:fromDegrees="0"
        android:toDegrees="360"
        />
    <scale
        android:fromXScale="0.2"
        android:toXScale="1.5"
        android:fromYScale="0.2"
        android:toYScale="1.5"
        android:pivotX="50%"
        android:pivotY="50%"/>
    <translate
        android:fromYDelta="0"
        android:toYDelta="320"
        android:fromXDelta="0"
        android:toXDelta="0"/>
</set>

2.Activity中:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button b_animAlpha;
    private Button b_animScale;
    private Button b_animTran;
    private Button b_animRotate;
    private Button b_animSet;
    private ImageView iv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        b_animAlpha = (Button) findViewById(R.id.b_animAlpha);
        b_animScale = (Button) findViewById(R.id.b_animScale);
        b_animTran = (Button) findViewById(R.id.b_animTran);
        b_animRotate = (Button) findViewById(R.id.b_animRotate);
        b_animSet = (Button) findViewById(R.id.b_animSet);
        iv = (ImageView) findViewById(R.id.iv);


        b_animAlpha.setOnClickListener(this);
        b_animScale.setOnClickListener(this);
        b_animTran.setOnClickListener(this);
        b_animRotate.setOnClickListener(this);
        b_animSet.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.b_animAlpha:
                Animation animation = AnimationUtils.loadAnimation(this, R.anim.anim_alpha);
                iv.startAnimation(animation);
                animation.cancel();
                break;
            case R.id.b_animScale:
                Animation animScale = AnimationUtils.loadAnimation(this, R.anim.anim_scale);
                iv.startAnimation(animScale);
                animScale.cancel();
                break;
            case R.id.b_animTran:
                Animation animTran = AnimationUtils.loadAnimation(this, R.anim.anim_tran);
                iv.startAnimation(animTran);
                animTran.cancel();
                break;
            case R.id.b_animRotate:
                Animation animRotate = AnimationUtils.loadAnimation(this, R.anim.anim_rotate);
                iv.startAnimation(animRotate);
                animRotate.cancel();
                break;
            case R.id.b_animSet:
                Animation animSet = AnimationUtils.loadAnimation(this, R.anim.anim_set);
                animSet.setDuration(3000);
                iv.startAnimation(animSet);
                animSet.cancel();
                break;
        }
    }
}

上一篇下一篇

猜你喜欢

热点阅读