初识android动画(3)之布局动画
2016-12-14 22:42
316 查看
有时候在我们切换Activity的时候会觉得这种生硬的切换效果真是弱爆了。那有没有什么办法,让我们在切换Activity的时候会让我们效果更加炫呢?这里介绍几种切换Activity时动画的效果。
我们可以在里面加载我们定义好的动画效果,这里使用一个android内部自带的。我们也可以使用自己的。引用一下我们在res/anim/下定义的动画文件就好。
我们看到一行代码就可以实现这种动画效果。为A退出时从右边退出。B从左边进入。类似于ViewPager切换动画。
主要注意的是overridePendingTransition必须要在startActivity之后调用。
方法二:利用Theme自定义Activity间的切换动画
我们只需要在我们AndroidManifest.xml里面声明一下我们定义好的动画资源就好了。
先看一下效果图
我们先定义两个动画:
alpha_in<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" /> alpha_out
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0" /> 然后在我们style.xml里面声明
<style name="Anim_fade" parent="android:Theme.NoTitleBar">
<item name="android:windowAnimationStyle">@style/fade</item>
</style>
<style name="fade" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/alpha_in</item>
<item name="android:activityOpenExitAnimation">@anim/alpha_out</item>
<item name="android:activityCloseEnterAnimation">@anim/alpha_in</item>
<item name="android:activityCloseExitAnimation">@anim/alpha_out</item>
</style> 接下来就是在我们的Activity中引用了
<activity
android:name="com.example.anmotiontest.FirstActivity"
android:theme="@style/Anim_fade">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.anmotiontest.SecondActvity"
android:theme="@style/Anim_fade">
</activity> 最后一步按照正常的模式由firstActivity进入SecondActivity中就可以了。
先实现这两种,以后添加。。。。。。
方法一:使用overridePendingTransition(int in,int out)
假设从A切换到B。其中in表示B进入时的动画效果,out表示A退出时的动画效果。我们可以在里面加载我们定义好的动画效果,这里使用一个android内部自带的。我们也可以使用自己的。引用一下我们在res/anim/下定义的动画文件就好。
Intent intent=new Intent(FirstActivity.this,SecoudActivity.class); startActivity(intent); overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
我们看到一行代码就可以实现这种动画效果。为A退出时从右边退出。B从左边进入。类似于ViewPager切换动画。
主要注意的是overridePendingTransition必须要在startActivity之后调用。
方法二:利用Theme自定义Activity间的切换动画
我们只需要在我们AndroidManifest.xml里面声明一下我们定义好的动画资源就好了。
先看一下效果图
我们先定义两个动画:
alpha_in<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" /> alpha_out
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0" /> 然后在我们style.xml里面声明
<style name="Anim_fade" parent="android:Theme.NoTitleBar">
<item name="android:windowAnimationStyle">@style/fade</item>
</style>
<style name="fade" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/alpha_in</item>
<item name="android:activityOpenExitAnimation">@anim/alpha_out</item>
<item name="android:activityCloseEnterAnimation">@anim/alpha_in</item>
<item name="android:activityCloseExitAnimation">@anim/alpha_out</item>
</style> 接下来就是在我们的Activity中引用了
<activity
android:name="com.example.anmotiontest.FirstActivity"
android:theme="@style/Anim_fade">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.anmotiontest.SecondActvity"
android:theme="@style/Anim_fade">
</activity> 最后一步按照正常的模式由firstActivity进入SecondActivity中就可以了。
先实现这两种,以后添加。。。。。。
相关文章推荐
- Android动画四种类型的xml布局文件
- 布局动画Android ScrollView HorizontalScrollView 实现全方向(上下左右)反弹效果
- Android的动画布局
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
- Android Animating Layout Changes布局的默认动画
- android之动画(二)通过动画布局声明文件和关联文件为容器布局----布局动画
- Android布局动画梳理之LayoutTransition源码追踪
- 【极客学院每日一课】Android系列之三:Android 布局动画
- 【极客学院每日一课】Android系列之三:Android 布局动画
- Android 使用属性动画实现可折叠布局
- Android:LayoutAnimation、布局动画
- Android---用动画来处理布局的变化
- Android---用动画来处理布局的变化
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
- Android布局变化时动画效果的现实(二)
- android一个布局由消失变为可见时实现动画效果
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
- 【Android Developers Training】 73. 布局变化的动画
- android属性动画--布局动画
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition