转载自:
http://blog.csdn.net/lnb333666/article/details/8962715
如题:反编译的了微信的包才知道这做饭,惭愧惭愧...
AndroidManifest.xml 注意application节点 的android:theme属性,这个属性是影响全局的,只要其它activity没有单独设置过theme就使用该theme:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activityanimationdemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".OneActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".TwoActivity" > </activity> <activity android:name=".ThreeActivity" > </activity> </application> </manifest>
看这里,主要的部分:styles.xml ,styples改要是用来改写系统提供的样式的东西,一般都是在item里面写着android:的样式,只是替换了系统提供的样式的东西:
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AppTheme" parent="@android:style/Theme"> <!-- 设置没有标题 --> <item name="android:windowNoTitle">true</item> <!-- 设置activity切换动画 --> <item name="android:windowAnimationStyle">@style/activityAnimation</item> </style> <!-- animation 样式 --> <style name="activityAnimation" parent="@android:style/Animation"> <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item> <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item> <item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item> <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item> </style> </resources>
slide_left_in.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromXDelta="-100.0%p" android:toXDelta="0.0" /> </set>
slide_left_out.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromXDelta="0.0" android:toXDelta="-100.0%p" /> </set>
slide_right_in.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromXDelta="100.0%p" android:toXDelta="0.0" /> </set>
slide_right_out.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromXDelta="0.0" android:toXDelta="100.0%p" /> </set>
Activity 代码,很简单,就是startactivity而已不需要什么特别的
package com.example.activityanimationdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; /** * * @fileName OneActivity.java * @author naibo-liao * @CreateTime 2013-5-20 上午11:55:04 */ public class OneActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_one); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(OneActivity.this, TwoActivity.class)); } }); // 返回事件 findViewById(R.id.btn_exit).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } }
上一张工程图
就这些
相关推荐
通过自定义Theme,我们可以实现Activity间切换时的动画效果,这不仅可以提升用户体验,也能让应用更具个性化和专业感。本篇将详细介绍如何利用Theme来定制Activity间的切换动画。 首先,理解Android的Theme和Style...
实现窗体切换动画的第一步是定义一个包含动画效果的`Theme`。在`styles.xml`中,我们需要定义一个新的主题,比如叫做`AppTheme.WindowTransition`,并指定`android:windowEnterAnimation`和`android:...
总结来说,Android的Animation API为开发者提供了丰富的工具来创建各种Activity切换效果,从简单的淡入淡出到复杂的旋转、压缩和交错,都可以通过设置不同参数和组合动画来实现。熟练掌握这些技巧,能够极大地提升...
在Android系统中,通过设置Window的Transition动画可以实现Activity之间的过渡效果。默认情况下,Android提供了滑动和平淡两种基本的切换动画。然而,开发者可以根据需求,创建自己的动画资源文件,以实现更为独特和...
在Android应用开发中,Activity是用户界面的基本单元,它...总之,这个资源包提供了多种Activity切换效果的实现,可以帮助开发者提升应用的交互体验,通过学习和实践这些示例,可以更好地理解和运用Android的动画系统。
对于QQ的进场切换动画,它通常涉及到透明度、缩放、平移等效果,这些可以通过Android的补间动画实现。补间动画允许我们指定一个开始值和结束值,然后系统会自动计算中间值,形成平滑过渡的效果。 在Eclipse中,我们...
自API级别21(Android Lollipop)开始,系统内置了多种预设的Activity切换动画,这些动画可以通过设置Intent的Flags或在主题中进行全局配置。 1. **动画类型**: - **滑动动画**:这是最常见的动画类型,包括左右...
介绍:用ViewDragHelper实现的activity切换动画。运行效果:使用说明: 你可以将这个库当成view来用:将DraggerView添加到root layout,并且在里面加入两个layout。 android:layout_width="match_parent" ...
本教程将深入探讨如何在Android中实现Activity动画,通过具体的案例——BetweenActivityAnimationDemo来详细讲解。 首先,Android提供了两种主要类型的动画:视图动画(View Animation)和属性动画(Property ...
设置Activity的切换动画,有两种方式: 1.使用overridePendingTransition(新Activity进入动画, 旧Activity退出动画),需要紧接在startActivity 和finish()后。 2.在manifest中配置Activity的theme。 下面着重说明...
总之,Android中的Activity切换动画通过属性动画实现,可以极大地提升用户体验。通过合理设计和组合动画,开发者可以创造出各种动态效果,使应用程序更具吸引力。在实际开发中,应根据应用风格和用户需求灵活运用...
总结起来,通过以上步骤,我们实现了自定义Activity切换动画,让Activity之间的过渡更加平滑自然。在实际开发中,可以根据项目需求调整动画时长、动画类型等参数,以达到最佳的视觉效果。同时,这种方法也可以扩展到...
在Android开发中,Activity...开发者可以通过自定义XML动画资源或编程方式来实现各种动画效果,使Activity的切换更加生动有趣。了解和掌握Activity切换动画的制作技巧,可以帮助开发者打造出更具吸引力的Android应用。
总的来说,Android Activity之间的切换动画是通过Transition API、自定义ViewGroup和Animator、以及Android系统的Activity管理机制来实现的。开发者可以通过深入理解源码、熟练运用工具,创造出丰富的交互体验,提升...
- 对于使用第三方库的应用,需确保库也支持动态Theme切换,或者对库进行适配。 - 切换Theme时可能会导致短暂的视觉闪烁,可以通过使用过渡动画或延迟Activity重启来缓解这个问题。 总结,实现Android应用的夜间...
- 应用级别的切换:可以通过修改`AndroidManifest.xml`中Activity的`android:theme`属性来实现。 - 运行时切换:在运行时,可以通过调用`setTheme()`方法在Activity的`onCreate()`方法之前更改主题。这会改变...
而Push_down_out.xml则是通过平移动画实现Activity向下推出的效果: ```xml android:fromYDelta="0" android:toYDelta="100%p" android:duration="300" /> ``` 在这个动画中,Activity会沿着Y轴向下移动其...
在Android开发中,Activity转场动画是提升用户体验的重要一环,它使得应用在不同界面间的切换更为流畅自然。本文将详细讲解如何实现Activity之间的动画效果,并提供可以直接复制使用的代码示例。 首先,Android中的...
这可以通过设置Activity的启动模式和过度动画实现。 ```xml <activity android:name=".Activity0" android:theme="@style/Theme.AppCompat.Translucent" /> ``` 在styles.xml中定义主题: ```xml <style name="...
通过在Activity主题中设置`android:theme="@android:style/Theme.NoTitleBar.Fullscreen"`,可以实现全屏效果。在API 19及以上版本,可以使用`SYSTEM_UI_FLAG_FULLSCREEN`标志实现隐藏系统UI。 7. **透明状态栏...