[Android实例] android动画效果切换案例

本文详细介绍了如何在Android应用中使用自定义动画和过渡效果,包括设置动画选择器、触发动画以及在不同动画之间平滑过渡的方法。通过实例演示了动画效果的实现过程,旨在提升用户体验和应用的视觉吸引力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说的再多在好,也没有自己去动手去实现的效果好,先看效果图吧
123.jpg
2012-7-23 16:29 上传
下载附件 (2.53 MB)


  主要代码:
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package com.iteye.androidtoast;   
    
import java.util.ArrayList;   
import java.util.List;   
    
import android.app.Activity;   
import android.content.Intent;   
import android.os.Bundle;   
import android.view.View;   
import android.view.View.OnClickListener;   
import android.widget.ArrayAdapter;   
import android.widget.Button;   
import android.widget.Spinner;   
    
public class MainActivity extends Activity {   
    
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {   
         super .onCreate(savedInstanceState);   
         setContentView(R.layout.main);   
             
         final Spinner mAnimSp = (Spinner) findViewById(R.id.animation_sp);   
         Button mButton=(Button) findViewById(R.id.other_button);   
             
         // 通过资源文件获取Spinner填充内容   
         String[] ls = getResources().getStringArray(R.array.anim_type);   
         List<String> list = new ArrayList<String>();   
         // 把数组内容填充 到集合   
         for ( int i = 0 ; i < ls.length; i++) {   
             list.add(ls<I>);   
         }   
         ArrayAdapter<String> animType = new ArrayAdapter<String>( this ,   
                android.R.layout.simple_spinner_item, list);   
         animType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);   
         mAnimSp.setAdapter(animType);   
         mAnimSp.setSelection( 0 );   
             
         mButton.setOnClickListener( new OnClickListener() {   
             @Override  
             public void onClick(View v) {   
                Intent intent = new Intent();   
                intent.setClass(MainActivity. this , OtherActivity. class );   
                startActivity(intent);   
    
                switch (mAnimSp.getSelectedItemPosition()) {   
                case 0 :   
                     /*注意:此方法只能在startActivity和finish方法之后调用。  
                      第一个参数为第一个Activity离开时的动画,第二参数为所进入的Activity的动画效果*/  
                     overridePendingTransition(R.anim.fade, R.anim.hold);   
                     break ;   
                case 1 :   
                     overridePendingTransition(R.anim.my_scale_action,   
                            R.anim.my_alpha_action);   
                     break ;   
                case 2 :   
                     overridePendingTransition(R.anim.scale_rotate,   
                            R.anim.my_alpha_action);   
                     break ;   
                case 3 :   
                     overridePendingTransition(R.anim.scale_translate_rotate,   
                            R.anim.my_alpha_action);   
                     break ;   
                case 4 :   
                     overridePendingTransition(R.anim.scale_translate,   
                            R.anim.my_alpha_action);   
                     break ;   
                case 5 :   
                     overridePendingTransition(R.anim.hyperspace_in,   
                            R.anim.hyperspace_out);   
                     break ;   
                case 6 :   
                     overridePendingTransition(R.anim.push_left_in,   
                            R.anim.push_left_out);   
                     break ;   
                case 7 :   
                     overridePendingTransition(R.anim.push_up_in,   
                            R.anim.push_up_out);   
                     break ;   
                case 8 :   
                     overridePendingTransition(R.anim.slide_left,   
                            R.anim.slide_right);   
                     break ;   
                case 9 :   
                     overridePendingTransition(R.anim.wave_scale,   
                            R.anim.my_alpha_action);   
                     break ;   
                case 10 :   
                     overridePendingTransition(R.anim.zoom_enter,   
                            R.anim.zoom_exit);   
                     break ;   
                case 11 :   
                     overridePendingTransition(R.anim.slide_up_in,   
                            R.anim.slide_down_out);   
                     break ;   
                }   
             }   
         });   
    }   
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值