android—启动动画SplashActivity

 Java Code 
1
2
3
4
5
6
7
8
9
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
原理:2个Activity,第一个Activity显示几秒钟时间后关闭,再显示第二个Activity

1、分别添加SplashActivity和MainActivity

<?xml version= "1.0"  encoding= "utf-8" ?>
<manifest xmlns:android= "http://schemas.android.com/apk/res/android"
     package = "com.example.splashdemo"
    android:versionCode= "1"
    android:versionName= "1.0"  >

    <uses-sdk
        android:minSdkVersion= "16"
        android:targetSdkVersion= "21"  />

    <application
        android:allowBackup= "true"
        android:icon= "@drawable/ic_launcher"
        android:label= "@string/app_name"
        android:theme= "@style/AppTheme"  >
        <activity
            android:name= ".MainActivity"
            android:label= "@string/title_activity_main"  >
        </activity>
        <activity
            android:name= ".SplashActivity"
            android:label= "@string/title_activity_splash"  >
            <intent-filter>
                <action android:name= "android.intent.action.MAIN"  />

                <category android:name= "android.intent.category.LAUNCHER"  />
            </intent-filter>
        </activity>
    </application>

</manifest>

2、打开SplashActivity,添加/修改以下代码

public   class  SplashActivity  extends  Activity {

     private   static   final   int  MSG_LOADING_TIMEOUT = 0x00;
     private   static   final   int  LOADING_DELAYED =  2000 ;

     private  Handler mHandler =  new  Handler() {

         /**
         * (non-Javadoc)
         * @see android.os.Handler#handleMessage(android.os.Message)
         */

        @Override
        public   void  handleMessage(Message msg) {

             super .handleMessage(msg);
             switch  (msg.what) {
             case  MSG_LOADING_TIMEOUT:
                Intent intent =  new  Intent(SplashActivity. this , MainActivity. class );
                SplashActivity. this .startActivity(intent);
                SplashActivity. this .overridePendingTransition( 0 , R.anim.splash_timeout);
                SplashActivity. this .finish();
                 break ;
            }
        }

    };

    @Override
     protected   void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
         this .mHandler.sendEmptyMessageDelayed(MSG_LOADING_TIMEOUT, LOADING_DELAYED);
    }
}

3、添加一个splash_timeout.xml文件

<?xml version= "1.0"  encoding= "utf-8" ?>
<set xmlns:android= "http://schemas.android.com/apk/res/android"
    android:zAdjustment= "top"  >

    <translate
        android:duration= "500"
        android:fromXDelta= "0%"
        android:toXDelta= "-100%"  />

</set>
**********************************************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值