Android笔记——切换界面效果

切换界面效果:set

界面的切换需要两个样式文件,即当前页面切出与下一页面切回,切换效果一共有四种:

第一种:translate

<!--水平/竖直切-->
    <translate
        android:duration="2000"//切换持续时间(AS可能无提示)
        android:fromXDelta="0"//从x轴来
        android:fromYDelta="0"//从y轴来
        android:toXDelta="-2560"//到x轴去
        android:toYDelta="-1600" />//到y轴去

第二种:alpha

<!--透明度切换-->
    <alpha
        android:duration="2000"//切换持续时间
        android:fromAlpha="1.0"//从此透明度切出
        android:toAlpha="0.0" />//到此透明度切入

第三种:scale

<!--缩放切换-->
    <scale
        android:duration="2000"//切换持续时间
        android:fromXScale="1.0"//从此x轴缩放比例
        android:fromYScale="1.0"//从此y轴缩放比例
        android:toXScale="0.0"//到此x轴缩放比例
        android:toYScale="0.0"//到此y轴缩放比例
        android:pivotX="50%"//x轴缩放起点(Activity左上角)
        android:pivotY="50%" />//y轴缩放起点(Activity左上角)

 第四种:rotate

<!--旋转切换-->
    <rotate
        android:duration="2000"//切换持续时间
        android:fromDegrees="0"//从此角度切出
        android:toDegrees="-90"//到此角度切入
        android:pivotX="0%"//x轴缩放起点(Activity左上角)
        android:pivotY="0%"/>//y轴缩放起点(Activity左上角)

注:坐标轴以右为X轴,以下为Y轴,负为逆时针,正为顺时针,坐标原点为手机左上角,宽高为手机屏幕宽高

使用:

   //切换界面
    startActivity(new Intent(MainActivity.this, Main2Activity.class));
    //使用样式文件(res新建anim文件夹,start作用于Main2Activity,end作用于MainActivity)
    overridePendingTransition(R.anim.activity_start,R.anim.activity_end);

切换样式完整版

R.anim.activity_start

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="2000"
        android:fromXDelta="2560"
        android:fromYDelta="1600"
        android:toXDelta="0"
        android:toYDelta="0" />
    <alpha
        android:duration="2000"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />
    <scale
        android:duration="2000"
        android:fromXScale="0.5"
        android:fromYScale="0.5"
        android:pivotX="20%"
        android:pivotY="20%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
    <rotate
        android:duration="2000"
        android:fromDegrees="90"
        android:pivotX="0%"
        android:pivotY="0%"
        android:toDegrees="0" />
</set>

R.anim.activity_end

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="2000"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="-2560"
        android:toYDelta="-1600" />
    <alpha
        android:duration="2000"
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />
    <scale
        android:duration="2000"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="0.0"
        android:toYScale="0.0" />
    <rotate
        android:duration="2000"
        android:fromDegrees="0"
        android:pivotX="0%"
        android:pivotY="0%"
        android:toDegrees="-90" />
</set>

注:

  1. overridePendingTransition必需紧挨着startActivity()或者finish()函数之后调用

  2. overridePendingTransition android2.0以及以上版本才支持

  3. 如果不需要切换动画可以设置overridePendingTransition(0,0)

  4. overridePendingTransition只能在主线程中调用

  5. 进入和退出动画的时间设置要一样,不然会有黑屏效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

quietly Close.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值