先上效果图,真机上效果更佳:
是不是感觉很酷炫,联想到activity跳转和fragment的跳转,是不是心里有一点小小的激动。
main里的代码:
public class MainActivity extends AppCompatActivity { private ImageView image; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); image = (ImageView) findViewById(R.id.image); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Animator animator = AnimatorInflater.loadAnimator(MainActivity.this,R.anim.anim); animator.setTarget(image); animator.start(); animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationCancel(Animator animation) { super.onAnimationCancel(animation); } @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); } @Override public void onAnimationRepeat(Animator animation) { super.onAnimationRepeat(animation); } @Override public void onAnimationStart(Animator animation) { super.onAnimationStart(animation); } @Override public void onAnimationPause(Animator animation) { super.onAnimationPause(animation); } @Override public void onAnimationResume(Animator animation) { super.onAnimationResume(animation); } }); } }); } }
关键是这个anim.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:ordering="sequentially" > <set android:ordering="together" > <objectAnimator android:propertyName="scaleX" android:valueFrom="1" android:valueTo="0.5" android:duration="500" android:valueType="floatType" /> <objectAnimator android:propertyName="scaleY" android:valueFrom="1" android:valueTo="0.5" android:duration="500" android:valueType="floatType" /> </set> <!--android:repeatMode="restart"--> <!--android:repeatCount="5"--> <objectAnimator android:propertyName="rotationY" android:valueFrom="0" android:valueTo="180" android:duration="1000" android:valueType="floatType" /> <objectAnimator android:propertyName="rotationX" android:valueFrom="0" android:valueTo="180" android:duration="1000" android:valueType="floatType" /> <set android:ordering="together" > <objectAnimator android:propertyName="scaleX" android:valueFrom="0.5" android:valueTo="1" android:duration="500" android:valueType="floatType" /> <objectAnimator android:propertyName="scaleY" android:valueFrom="0.5" android:valueTo="1" android:duration="500" android:valueType="floatType" /> </set> </set>
好了,请开始你的装逼0 0