[Android1.5]Android2.0版本以下Activity切换动画效果


前言

  在Android 2.0版本以上做Activity切换时的动画效果是很容易的,可以调用overridePendingTransition函数,一行代码搞定,当然配置动画效果的xml文件是少不了的,但是在2.0版本以下是没有这个函数的,如何方便的做动画效果呢?有说用ViewFlipper或者getWindow().setWindowAnimations,但是这里都没有成功,用了一个取巧的办法,但是效果还不错:)

 

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.com

    农民伯伯: http://www.cnblogs.com/over140/

 

正文

  一、流程说明

    点击Activity1中按钮btnLogin切换到Activity2,切换要求有缩放的动画效果。

 

  二、实现原理

    在Activity2加载时启用顶层容器的动画效果,注意顶层容器最好是整屏。

 

  三、实现代码

    Activity1.java

复制代码
    /**
     * 登录
     
*/
    @Override
    
public void onClick(View view) {
        startActivity(getIntent().setClass(
this, Activity2.class));
    }
复制代码

    Activity2.java

复制代码
    @Override
    
public void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        setContentView(R.layout.test2);
        Animation anim = AnimationUtils.loadAnimation(this,R.anim.my_scale_action);
        findViewById(R.id.body).startAnimation(anim);


    }
复制代码

    test2.xml

复制代码
<LinearLayout android:id="@+id/body"
    xmlns:android
="http://schemas.android.com/apk/res/android"
    android:layout_width
="fill_parent" android:layout_height="fill_parent"
    android:orientation
="vertical" >

        
<TextView android:layout_x="179dp" android:layout_y="78dp"
            android:id
="@+id/test"
            android:layout_width
="wrap_content" android:layout_height="wrap_content"
            android:textColor
="#c5dde7" android:textStyle="bold">
        
</TextView>
</LinearLayout>
复制代码

    my_scale_action.xml 动画效果的配置文件

复制代码
<set xmlns:android="http://schemas.android.com/apk/res/android">
    
<scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale
="0.0" 
        android:toXScale
="1.0" 
        android:fromYScale
="0.0"
        android:toYScale
="1.0" 
        android:pivotX
="50%" 
        android:pivotY
="50%"
        android:fillAfter
="true" 
        android:duration
="300" />
</set>
复制代码

      代码说明:

        a)  注意代码Activity2.java加粗标红的两行代码,是本文的核心。

        b)  R.id.body为顶层容器的id

        c)  关于缩放的xml文件大家可以搜索一下,有相关的中文资料,搜索关键字:"android 动画效果"。

 

结束

   由图片的动画效果联想到View的动画效果再联想到用顶层View做动画效果,效果还不错,仍然在低版本奋斗的朋友有福了:)

posted @   农民伯伯  阅读(5007)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2007-11-02 Oracle Sys用户用默认密码change_on_install 无法登录的问题(错误代码:ORA-28009)
点击右上角即可分享
微信分享提示