android 的闪屏效果

android的闪屏效果,就是我们刚开始启动应用的时候弹出的界面或者动画,过2秒之后自动的跳转到主界面。

其实,实现这个效果很简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runnable对象,里面包含了延迟后需要执行的操作

代码:

1.写好闪屏的布局文件:splashscreen_layout.xml ,为了界面好看一些,这里要准备一张用于显示闪屏界面的图片,并命名为aa,copy到drawable文件下。 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:id="@+id/mainactivity"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:gravity="center"
 7     android:orientation="vertical">
 8 
 9     <TextView
10         android:layout_width="wrap_content"
11         android:layout_height="wrap_content"
12         android:text="闪一下"
13         android:textSize="30sp" />
14 
15     <ImageView
16         android:layout_width="match_parent"
17         android:layout_height="match_parent"
18         android:src="@drawable/aa" />
19 
20 </LinearLayout>
2. SplashScreenActivity.java文件,用于显示闪屏并跳转到主IU
 1 package com.example.administrator.testactivity;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.os.Handler;
 7 import android.support.v4.widget.SlidingPaneLayout;
 8 
 9 
10 /**
11  * Created by Administrator on 2015/11/2.
12  */
13 public class SplashScreenActivity extends Activity {
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.splashscreen_layout);
18         new Handler().postDelayed(new Runnable() {//以下是核心代码
19             @Override
20             public void run() {
21                 //从启动动画ui跳转到主ui
22                 Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
23                 startActivity(intent);
24                 // 结束当前启动动画的界面
25                 SplashScreenActivity.this.finish();
26             }
27         }, 3000);    //,设置动画的显示时间,单位为毫秒
28     }
29 }

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

1 public class MainActivity extends AppCompatActivity {
2 
3     @Override
4     protected void onCreate(Bundle savedInstanceState) {
5         super.onCreate(savedInstanceState);
6         setContentView(R.layout.activity_main);
7     }
8 }

以上代码基本可以实现了闪屏的效果。当然了,闪屏的布局还可以只使用一张图片,大家可以自己试一试。

如果在闪屏的过程中实现动画是不是更酷了呢?请看我的下一篇分享。

原文地址:https://www.cnblogs.com/huaqing-wkc/p/4939838.html