【手機安全衛士01】項目Splash頁面的開發與設計

首先創建一個安卓的項目,而後修改manifest.xml文件,修改應用程序的logo和顯示名稱,效果圖以下:android

 對應的代碼以下:app

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="lq.wangzhen.mobilesafe"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6     <uses-sdk
 7         android:minSdkVersion="10"
 8         android:targetSdkVersion="10" />
 9     <application
10         android:allowBackup="true"
11         android:icon="@drawable/callmsgsafe"   //設置應用程序的logo
12         android:label="@string/app_name"       //設置應用程序的名稱
13         android:theme="@style/AppTheme" >
14         <activity
15             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
16             android:name="lq.wangzhen.mobilesafe.SplashActivity"
17             android:label="@string/app_name" >
18             <intent-filter>
19                 <action android:name="android.intent.action.MAIN" />
20 
21                 <category android:name="android.intent.category.LAUNCHER" />
22             </intent-filter>
23         </activity>
24     </application>
25 </manifest>

 

使用到的strings.xml文件以下:ide

1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3 
4     <string name="app_name">手機衛士</string>
5     <string name="action_settings">Settings</string>
6     <string name="hello_world">Hello world!</string>
7 
8 </resources>

 

更改完成應用程序的圖片之後,下面開始編寫應用程序的啓動界面,界面的效果圖以下:佈局

這裏咱們包含了一下的幾個信息:this

  1. 當前應用程序的版本號;
  2. 啓動時的一個ProgressBar;
  3. 背景圖片
  4. 設置顯示爲全屏幕顯示,沒有標題欄和狀態欄

創建一個SplashActivity,對應的佈局文件爲:activity_splash.xml文件,而後在manifest.xml文件中配置當前的Acitivity,代碼以下:spa

 1 <activity
 2             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"   //配置當前的Activity是全屏顯示的
 3             android:name="lq.wangzhen.mobilesafe.SplashActivity"         
 4             android:label="@string/app_name" >
 5             <intent-filter>
 6                 <action android:name="android.intent.action.MAIN" />     //配置當前的Activity是應用程序的啓動頁面
 7 
 8                 <category android:name="android.intent.category.LAUNCHER" />
 9             </intent-filter>
10         </activity>

 

編輯完成之後,完成activity_spalsh.xml文件,完成Spash頁面的佈局:code

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".SplashActivity"
10     android:background="@drawable/logo2" >    //配置當前Activity的背景圖片
11 
12     <TextView   //顯示當前應用程序的版本號
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:id="@+id/tv_splash_version"
16         android:text="版本號:"
17         android:layout_alignParentRight="true"
18         android:textColor="#FF0000"
19         android:textSize="20sp"/>
20     
21     <ProgressBar   
22         android:layout_width="wrap_content"
23         android:layout_height="wrap_content"
24         android:layout_centerHorizontal="true"
25         android:layout_alignParentBottom="true"
26         android:layout_marginBottom="130dp"/>
27 
28 </RelativeLayout>

 

而後在SpalshActivity類中加載以上的activity_splash.xml佈局文件,而後運行程序即獲得以上的效果圖。xml

 1 package lq.wangzhen.mobilesafe;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.pm.PackageInfo;
 6 import android.content.pm.PackageManager;
 7 import android.content.pm.PackageManager.NameNotFoundException;
 8 import android.view.Menu;
 9 import android.widget.TextView;
10 
11 public class SplashActivity extends Activity {
12     private TextView tv_splash_version;
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_splash);
17         this.tv_splash_version = (TextView) this.findViewById(R.id.tv_splash_version);
18         this.tv_splash_version.setText("版本號:"+getVersion());   //設置應用程序的版本號
19     }
20     /**
21      * 取得應用的版本號
22      * @return
23      */
24     public String getVersion(){
25         PackageManager pm = getPackageManager();   //取得包管理器的對象,這樣就能夠拿到應用程序的管理對象
26         try {
27             PackageInfo info = pm.getPackageInfo(getPackageName(), 0);   //獲得應用程序的包信息對象
28             return info.versionName;   //取得應用程序的版本號
29         } catch (NameNotFoundException e) {
30             e.printStackTrace();
31             //此異常不會發生
32             return "";
33         }
34     }
35 }
相關文章
相關標籤/搜索