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;
}
}
}