我是靠谱客的博主 眼睛大哈密瓜,最近开发中收集的这篇文章主要介绍【Android 基础】利用主题Theme自定义Activity切换动画,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先介绍一般常见的设置Activity切换动画的方法:

需求:当向左滑动Activity的时候,下一个Activity从右边进来

  1. 在res下新建anim文件夹,然后在里面建立base_slide_remain.xml以及base_slide_right_in.xml

    base_slide_remain.xml

<?xml version="1.0" encoding="utf-8"?>
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="300"
android:fromXDelta="0.0"
android:toXDelta="0.0" />
</set>

base_slide_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="300"
android:fromXDelta="100%"
android:toXDelta="0%" />
</set>

2.在切换Activity时设置切换动画效果:


public void pre(View view) {
startActivity(new Intent(this, MainActivity.class));
overridePendingTransition(R.anim.base_slide_left_in, R.anim.base_slide_remain);
}
public void next(View view) {
startActivity(new Intent(this, MainActivity.class));
overridePendingTransition(R.anim.base_slide_right_in, R.anim.base_slide_remain);
}

pre(View view) 和 next(View view)都是我的动作监听函数,故名思议,当向前(左)滑动的时候,调用pre()函数.反之亦然。

overridePendingTransition(orgs1,orgs2)函数中,参数一的作用是设置进来的动画,参数二是退出的动画。

利用主题Theme自定义Activity切换动画

这里演示淡入淡出的切换Activity的动画效果

  1. 在res下新建anim文件夹,并新建文件如下:

fade_in.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />

fade_out.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0" />
  1. 然后在values文件夹下的styles.xml中的resources标签内写:

<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/fade_in</item>
<item name="android:activityOpenExitAnimation">@anim/fade_out</item>
<item name="android:activityCloseEnterAnimation">@anim/fade_in</item>
<item name="android:activityCloseExitAnimation">@anim/fade_out</item>
</style>

3.最后在AndroidManifest.xml中的Activity的声明上加入android:theme=”@style/Anim_fade”即可
那么关于设定的这个Acitvity的打开以及关闭都会和主题设定的切换效果一样了。

最后

以上就是眼睛大哈密瓜为你收集整理的【Android 基础】利用主题Theme自定义Activity切换动画的全部内容,希望文章能够帮你解决【Android 基础】利用主题Theme自定义Activity切换动画所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部