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

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

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

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

    base_slide_remain.xml

复制代码
1
2
3
4
5
6
7
8
9
<?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

复制代码
1
2
3
4
5
6
7
8
9
<?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时设置切换动画效果:

复制代码
1
2
3
4
5
6
7
8
9
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

复制代码
1
2
3
4
5
6
7
<?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

复制代码
1
2
3
4
5
6
7
<?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标签内写:
复制代码
1
2
3
4
5
6
7
8
9
10
<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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部