当前位置:首页 » 安卓系统 » android退出动画

android退出动画

发布时间: 2025-05-10 17:34:02

1. 如何在Android开发中实现屏幕切换

屏幕切换指的是在同一个Activity内屏幕间的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。
该类有如下几个和动画相关的函数:

setInAnimation:设置View进入屏幕时候使用的动画,该函数有两个版本,一个接受单个参数,类型为 android.view.animation.Animation,一个接受两个参数,类型为Context和int,分别为Context对象和定义 Animation的resourceID。

setOutAnimation: 设置View退出屏幕时候使用的动画,参数setInAnimation函数一样。
showNext: 调用该函数来显示FrameLayout里面的下一个View。

多数情况下是使用ViewFlipper 是继承至FrameLayout的,所以它是一个Layout里面可以放置多个View。ViewFlipper可以用来指定FrameLayout内多 个View之间的切换效果,可以一次指定也可以每次切换的时候都指定单独的效果。

isFlipping:用来判断View切换是否正在进行
setFilpInterval:设置View之间切换的时间间隔
startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会循环进行
stopFlipping: 停止View切换

2. android 设置窗口的进入和退出动画 在什么情况下 退出有效 进入无效

其实设置Activity动画的根本也就是设置View的动画,因为Activity有一个根的View叫DecorView。下面介绍两种设置Activity的动画

1.修改Activity Theme

在styles.xml中输入以下代码

[html] view plainprint?
  1. <stylename="AnimationActivity"parent="@android:style/Animation.Activity">
  2. <itemname="android:activityOpenEnterAnimation">@anim/slide_in_left</item>
  3. <itemname="android:activityOpenExitAnimation">@anim/slide_out_left</item>
  4. <itemname="android:activityCloseEnterAnimation">@anim/slide_in_right</item>
  5. <itemname="android:activityCloseExitAnimation">@anim/slide_out_right</item>
  6. </style>
<stylename="AnimationActivity"parent="@android:style/Animation.Activity">
<itemname="android:activityOpenEnterAnimation">@anim/slide_in_left</item>
<itemname="android:activityOpenExitAnimation">@anim/slide_out_left</item>
<itemname="android:activityCloseEnterAnimation">@anim/slide_in_right</item>
<itemname="android:activityCloseExitAnimation">@anim/slide_out_right</item>
</style>

然后在themes.xml中

[html] view plainprint?
  1. <stylename="ThemeActivity">
  2. <itemname="android:windowAnimationStyle">@style/AnimationActivity</item>
  3. <itemname="android:windowNoTitle">true</item>
  4. </style>
<stylename="ThemeActivity">
<itemname="android:windowAnimationStyle">@style/AnimationActivity</item>
<itemname="android:windowNoTitle">true</item>
</style>

在AndroidMainfest.xml中为Activity指定theme

2.使用代码设定

通过调用overridePendingTransition() 可以实时修改Activity的切换动画。但需注意的是:该函数必须在调用startActivity()或者finish()后立即调用,且只有效一次。

3. Android零基础入门第54节:视图切换组件ViewSwitcher

ViewSwitcher是一个专门用于视图切换的组件,每次只显示一个组件,并且可以在切换视图时添加动画效果。以下是关于ViewSwitcher的详细解答:

  1. 继承关系

    • ViewSwitcher是ViewAnimator的一个子类。
    • ViewAnimator继承了FrameLayout,允许多个View组件叠放,并提供动画效果。
  2. 功能特点

    • 视图切换:ViewSwitcher专门用于视图切换,与FrameLayout相似,但每次只显示一个组件。
    • 动画效果:在切换视图时,可以添加动画效果,使界面切换更加流畅和吸引人。
  3. 配置与使用

    • 布局文件:在布局文件中定义ViewSwitcher组件,并添加需要切换的视图。
    • ViewFactory:通常通过ViewSwitcher的setFactory方法设置ViewFactory,由ViewFactory创建View。这样可以在需要时动态创建视图。
    • 动画设置:通过setInAnimation和setOutAnimation方法设置切换时的进入和退出动画。
  4. 示例程序

    • 在示例程序中,通过创建viewswitcher_layout.xml文件定义ViewSwitcher组件和两个按钮。
    • 创建布局文件slide_gridview.xml和slide_gridview_item.xml,并定义实体类和适配器,用于在ViewSwitcher中显示数据。
    • 在ViewSwitcherActivity.java文件中加载布局文件,设置ViewSwitcher的ViewFactory,并通过按钮控制显示上一屏、下一屏的程序列表。
    • 在切换视图时,使用Android系统提供的动画资源或自行提供的动画资源来添加动画效果。
  5. 注意事项

    • 确保在切换视图时,ViewSwitcher中始终有可用的视图,以避免出现空界面。
    • 动画效果的设置可以根据实际需求进行调整,以达到最佳的视觉效果。

4. android转场动画windowAnimation和ActivityAnimation的区别

1.windowAnimation包括windowEnterAnimation和windowExitAnimation;
ActivityAnimation
包含
android:activityOpenEnterAnimation,android:activityOpenExitAnimation,android:activityCloseEnterAnimation
和android:activityCloseExitAnimation
2.在项目中WindowAnimation的控制权大于Activity的控制权,
即在Activity转场过程中,如果同时设置了WindowAnimation和ActivityAnimation,那么可能(因为这种情况非常多)只会执行WindowAnimation
3.对于WindowAnimation的定义很简单,在style.xml文件中只需要继承AnimationStyle即可
<stylename="Animation"parent="@android:style/Animation">
<!--窗体进入动画-->
<itemname="android:windowEnterAnimation">@anim/slide_left_enter</item>
<!--窗体退出动画-->
<itemname="android:windowExitAnimation">@anim/slide_right_exit</item>
</style>
对于Activity,需要继承AnimationActivityStyle
<stylename="FeelyouWindowAnimTheme"parent="@android:style/Animation.Activity">
<itemname="android:activityOpenEnterAnimation">@android:anim/slide_in_left</item>
<itemname="android:activityOpenExitAnimation">@android:anim/slide_out_right</item>
<itemname="android:activityCloseEnterAnimation">@anim/push_right_in</item>
<itemname="android:activityCloseExitAnimation">@anim/push_left_out</item>
</style>
当我们从A1启动A2时,A1从屏幕上消失,这个动画叫做android:activityOpenExitAnimation
当我们从A1启动A2时,A2出现在屏幕上,这个动画叫做android:activityOpenEnterAnimation
当我们从A2退出回到A1时,A2从屏幕上消失,这个叫做android:activityCloseExitAnimation
当我们从A2退出回到A1时,A1出现在屏幕上,这个叫做android:activityCloseEnterAnimation
从上述2中动画的定义上来看,显然ActivityAnimation更为复杂,但这种复杂带来的转场效果非常好,
可以同时控制2个Activity的动画,而不像WindowAnimation只能控制下一个Activity的窗体动画。
5.在开发中,窗体动画也可以使用Activity.overridePendingTransition来设置,也可以定义在主题中,但Activity只能使用在主题中
<application
android:name="test.view.weitop.BaseApplication"
android:allowBackup="false"
android:hardwareAccelerated="false"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/Theme.App">
</application>
6.对于比较追求界面美感的动画,使用ActivityAnimation要好得多,因此对于一般开发使用windowAnimation即可,
但对于追求用户体验,那么直接使用ActivityAnimation吧

热点内容
缓存关联替换 发布:2025-05-10 20:56:34 浏览:617
开源项目源码 发布:2025-05-10 20:56:24 浏览:35
php文章编辑 发布:2025-05-10 20:56:21 浏览:981
梦世界国际版服务器ip 发布:2025-05-10 20:35:35 浏览:257
编程树遍历 发布:2025-05-10 20:34:53 浏览:402
快牙怎么传文件夹 发布:2025-05-10 20:29:08 浏览:138
26个字母可以组成多少个密码 发布:2025-05-10 20:23:21 浏览:620
redhat启动ftp服务 发布:2025-05-10 20:19:19 浏览:865
初级编程视频教程 发布:2025-05-10 20:19:17 浏览:980
云服务器设计制作 发布:2025-05-10 20:06:53 浏览:670