android的闪屏效果,就是我们刚开始启动应用的时候弹出的界面或者动画,过2秒之后自动的跳转到主界面。
其实,实现这个效果很简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runnable对象,里面包含了延迟后需要执行的操作
代码:
1.写好闪屏的布局文件:splashscreen_layout.xml ,为了界面好看一些,这里要准备一张用于显示闪屏界面的图片,并命名为aa,copy到drawable文件下。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainactivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="闪一下"
android:textSize="30sp" /> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/aa" /> </LinearLayout>
2. SplashScreenActivity.java文件,用于显示闪屏并跳转到主IU
package com.example.administrator.testactivity; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SlidingPaneLayout; /**
* Created by Administrator on 2015/11/2.
*/
public class SplashScreenActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splashscreen_layout);
new Handler().postDelayed(new Runnable() {//以下是核心代码
@Override
public void run() {
//从启动动画ui跳转到主ui
Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
startActivity(intent);
// 结束当前启动动画的界面
SplashScreenActivity.this.finish();
}
}, 3000); //,设置动画的显示时间,单位为毫秒
}
}
3.主界面(UI)的布局文件。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!,Welcome!This is UI layout." />
</RelativeLayout>
4.主界面的java文件了:MainActivity.java
public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
以上代码基本可以实现了闪屏的效果。当然了,闪屏的布局还可以只使用一张图片,大家可以自己试一试。
如果在闪屏的过程中实现动画是不是更酷了呢?请看我的下一篇分享。