Android————制作启动页面
1、制作三张启动图片都命名为splash.png,分辨率为240*320、320*480、480*800,分别放置在drawable-ldpi、drawable-mdpi、drawable-hdpi文件夹中。
2、在layout文件夹中创建一个activity_splash.xml文件,内容如下
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="fill_parent" android:layout_height="fill_parent" 4 android:gravity="bottom|center" android:orientation="vertical" 5 android:background="@drawable/splash"> 6 7 <TextView 8 android:id="@+id/splash_VerNumber" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:layout_margin="20dip" 12 android:gravity="bottom" 13 android:textSize="20dip" /> 14 15 </LinearLayout>
3、在src文件夹的架包中新建SplashActivity,代码如下
1 package com.lxh.androideater; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.content.pm.PackageInfo; 6 import android.content.pm.PackageManager; 7 import android.content.pm.PackageManager.NameNotFoundException; 8 import android.os.Bundle; 9 import android.os.Handler; 10 import android.util.Log; 11 import android.widget.TextView; 12 13 public class SplashActivity extends Activity { 14 15 //------------------------------------------ 变量 ------------------------------------------ 16 //显示版本号 17 TextView tViewVerNumber = null; 18 //延时跳转 19 Handler handler = null; 20 JustIntoMainActivityRunnable gotoMainR = null; 21 22 23 //------------------------------------------ 方法 ------------------------------------------ 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 // TODO Auto-generated method stub 27 super.onCreate(savedInstanceState); 28 //设置要显示的布局文件 29 setContentView(R.layout.activity_splash); 30 try { 31 //获取架包管理对象 32 PackageManager pm = getPackageManager(); 33 //回去本项目的包信息对象 34 PackageInfo pi = pm.getPackageInfo("com.lxh.androideater", 0); 35 //得到activity_splash.xml中显示版本号的TextView 36 tViewVerNumber = (TextView) findViewById(R.id.splash_VerNumber); 37 //pi.versionName要显示的版本信息, 38 //即AndroidManifest.xml中的 android:versionName="1.0.0" 数据 39 tViewVerNumber.setText("版本号: " + pi.versionName); 40 41 } catch (Exception e) { 42 // TODO: handle exception 43 Log.e("Error——Splash", e.getMessage()); 44 e.printStackTrace(); 45 } 46 handler = new Handler(); 47 gotoMainR = new JustIntoMainActivityRunnable(); 48 //2500毫秒后执行JustIntoMainActivityRunnable对象的run()方法 49 handler.postDelayed(gotoMainR, 250000); 50 } 51 52 53 //------------------------------------------ 类 ------------------------------------------ 54 /** 55 * 进入MainActivity页面 56 */ 57 class JustIntoMainActivityRunnable implements Runnable { 58 59 @Override 60 public void run() { 61 // TODO Auto-generated method stub 62 //创建一个Intent对象 63 Intent intent = new Intent(); 64 //设置要跳转的页面对象 65 intent.setClass(SplashActivity.this, MainActivity.class); 66 //跳转到MainAcitivity页面 67 startActivity(intent); 68 //把本页面从栈中弹出 69 SplashActivity.this.finish(); 70 } 71 72 } 73 74 }
4、 修改AndroidManifest.xml文件,将启动界面Activity改为默认启动,并且设置标题栏不可见。
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2 package="com.lxh.androideater" 3 android:versionCode="1" 4 android:versionName="1.0.0" > 5 6 <uses-sdk 7 android:minSdkVersion="8" 8 android:targetSdkVersion="15" /> 9 10 <application 11 android:icon="@drawable/ic_launcher" 12 android:label="@string/app_name" 13 android:theme="@style/AppTheme" > 14 15 <activity 16 android:name=".SplashActivity" 17 android:label="@string/app_name" 18 android:theme="@android:style/Theme.NoTitleBar"> 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 <category android:name="android.intent.category.LAUNCHER" /> 22 </intent-filter> 23 </activity> 24 25 <activity 26 android:name=".MainActivity" 27 android:label="@string/title_activity_main" > 28 </activity> 29 30 </application> 31 32 </manifest>
5、显示效果如下: