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 }
以上代码基本可以实现了闪屏的效果。当然了,闪屏的布局还可以只使用一张图片,大家可以自己试一试。
如果在闪屏的过程中实现动画是不是更酷了呢?请看我的下一篇分享。