Android欢迎界面实现
Android 欢迎界面实现
0X00 原理解析
实现方法很多,但基本原理都差不多,就是在你的功能界面之前调用一个欢迎的活动,欢迎活动尽量简单,太复杂好像会引起应用启动时短暂的白屏,然后再欢迎Activity 延时一段时间,跳转到功能界面就可以了
0X01 具体实现
优先启动欢迎界面
右键工程建立一个Activity,一阵设计界面后,设置这个活动第一个启动:
在AndroidMainifest.xml中:
主活动中剪切如下代码
1
2
3
4
5
6 ... ...
<intent-filter><!--这四行放在activity标签中代表这个活动是第一个启动-->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter><!--end-->
... ...
粘贴到欢迎活动中去,结果如下
1
2
3
4
5
6
7
8
9
10
11
12 ... ...
<activity android:name=".MainActivity"
android:screenOrientation="portrait">
<!--这个是主界面,android:screenOrientation="portrait"设置只能竖屏-->
</activity>
<activity android:name=".Main2Activity"><!--欢迎界面-->
<intent-filter><!--这四行放在activity标签中代表这个活动是第一个启动-->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter><!--end-->
</activity>
... ...
到这里运行程序时就会先调用欢迎界面
延时调用主活动
直接上代码
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 import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Main2Activity extends AppCompatActivity {//欢迎界面
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//接收到消息后跳转
goMain();
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//延迟两秒发送消息
handler.sendEmptyMessageDelayed(0,2000);
}
private void goMain() {
//设定调动MainActivity
Intent intent=new Intent(this,MainActivity.class);
startActivity(intent); //将控制权交给MainActivity
finish(); //结束
}
}
0X02 总结
不然可以建立工程的时候先写欢迎Activity 哈哈哈哈哈