一. 利用两个activity间的跳转实现
MainActivity.java
public class MainActivity extends AppCompatActivity { private final long SPLASH_LENGTH = 3000; Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); handler.postDelayed(new Runnable() { //使用handler的postDelayed实现延时跳转 public void run() { Intent intent = new Intent(MainActivity.this, splash.class); startActivity(intent); finish(); } }, SPLASH_LENGTH);//3秒后跳转至应用主界面MainActivity } }
二. 将启动页面和主页面都放到了一个Activity中去完成,然后使用ViewFilpper去进行切换
MainActivity.java
public class MainActivity extends AppCompatActivity {
private ViewFlipper allFlipper;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case 1:
//切换到主页面
allFlipper.setDisplayedChild(1);
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
allFlipper = (ViewFlipper) findViewById(R.id.allFlipper);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
handler.sendEmptyMessage(1); //给UI主线程发送消息
}
}, 3000); //启动等待3秒钟
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/allFlipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<!-- 启动等待界面 -->
<RelativeLayout
android:id="@+id/splashLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/sb" >
</RelativeLayout>
<!-- 主界面 -->
<RelativeLayout
android:id="@+id/homeLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</RelativeLayout>
</ViewFlipper>