android界面切换滑动动画

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y331271939/article/details/46547325

这里主要介绍两种情况,第一种是一个Activity跳转到另一个Activity时的滑动效果。第二种是一个Activity中的两个View,其中一个隐藏一个显示时加上滑动效果。

先写两个动画效果,这里是在布局中写的,也可以在代码中实现,在res/anim中写这俩个

  • out_to_left.xml 从左边出
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

    <translate
        android:duration="300"
        android:fromXDelta="0%p"
        android:toXDelta="-100%p" />

</set>
  • in_from_right.xml 从右边进
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

    <translate
        android:duration="300"
        android:fromXDelta="100%p"
        android:toXDelta="0%p" />

</set>

其中duration表示滑动持续的时间,fromXDelta表示沿X轴从拿来,toXDelta表示到哪去,interpolator中可以设置动画的效果。这是csdn上有人写的,写的非常好,不懂可以看看http://blog.csdn.net/wangjia55/article/details/8104581

1 . Activity滑动

Intent intent = new Intent(this, IntentActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);

2 . View滑动

Animation animOut = AnimationUtils.loadAnimation(this,R.anim.out_to_left);
outView.setVisibility(View.GONE);
outView.startAnimation(animOut);
		
Animation animIn = AnimationUtils.loadAnimation(this,R.anim.in_from_right);
inView.setVisibility(View.VISIBLE);
inView.startAnimation(animIn);

这样就实现了界面滑动,可以把duration时间写大写看看效果,注意两个动画的时间需保持一致,要不然会看见界面滑动不一样,不同步。

猜你喜欢

转载自blog.csdn.net/y331271939/article/details/46547325