电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 安卓(android)开发>>安卓(android)创建apk程序启动画面的介绍和相关代码实例:

安卓(android)创建apk程序启动画面的介绍和相关代码实例

来源:网络 | 2012-12-27 | (有3683人读过)

每个Android应用启动之后都会出现一个Splash启动界面,显示产品的LOGO、公司的LOGO或者开发者信息。如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。 

  1.制作Splash界面 
  突出产品LOGO,产品名称,产品主要特色; 
  注明产品的版本信息; 
  注明公司信息或者开发者信息; 
  背景图片,亦可以用背景颜色代替; 

  2.除了等待还能做点什么 
  大多数的Splash界面都是会等待一定时间,然后切换到下一个界面; 
  其实,在这段时间里,可以对系统状况进行检测,比如网络是否通,电源是否充足; 
  或者,预先加载相关数据; 
  为了能让启动界面展现时间固定,需要计算执行以上预处理任务所花费的时间,那么:启动界面SLEEP的时间=固定时间-预处理任务时间; 

  3.源码示例 
  AndroidMenifest.xml 

  <activity android:icon="@drawable/app_icon" 
                    android:screenOrientation="portrait" 
                    android:name=".splashScreen" 
                    android:theme="@android:style/Theme.NoTitleBar"> 
              <intent-filter> 
                  <action android:name="android.intent.action.MAIN"/> 
                  <category android:name="android.intent.category.LAUNCHER"/> 
              </intent-filter> 
          </activity> 

  splashScreen.java 

  package org.wordpress.android; 

  import android.app.Activity; 
  import android.content.Intent; 
  import android.content.pm.PackageInfo; 
  import android.content.pm.PackageManager; 
  import android.content.pm.PackageManager.NameNotFoundException; 
  import android.graphics.PixelFormat; 
  import android.os.Bundle; 
  import android.os.Handler; 
  import android.view.WindowManager; 
  import android.widget.TextView; 


  public class splashScreen extends Activity { 
      /** 
       * Called when the activity is first created. 
       */ 

      @Override 
      public void onCreate(Bundle icicle) { 
          super.onCreate(icicle); 
          getWindow().setFormat(PixelFormat.RGBA_8888); 
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER); 

          setContentView(R.layout.splashscreen); 

          //Display the current version number 
          PackageManager pm = getPackageManager(); 
          try { 
              PackageInfo pi = pm.getPackageInfo("org.wordpress.android", 0); 
              TextView versionNumber = (TextView) findViewById(R.id.versionNumber); 
              versionNumber.setText("Version " + pi.versionName); 
          } catch (NameNotFoundException e) { 
              e.printStackTrace(); 
          } 

          new Handler().postDelayed(new Runnable() { 
              public void run() { 
                  /* Create an Intent that will start the Main WordPress Activity. */ 
                  Intent mainIntent = new Intent(splashScreen.this, wpAndroid.class); 
                  splashScreen.this.startActivity(mainIntent); 
                  splashScreen.this.finish(); 
              } 
          }, 2900); //2900 for release 

      } 
  } 

  splashscreen.xml 

  <!-- 
  android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。 
  android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置 
  --> 
  <LinearLayout android:id="@+id/LinearLayout01" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                xmlns:android="http://schemas.android.com/apk/res/android" 
                android:gravity="center|center" 
                android:background="@drawable/home_gradient" 
                android:orientation="vertical"> 
      <!-- 
      android:scaleType是控制图片如何resized/moved来匹对ImageView的size 
      CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽 
      --> 
      <ImageView android:layout_marginTop="-60dip" 
                 android:paddingLeft="20dip" 
                 android:paddingRight="20dip" 
                 android:scaleType="centerInside" 
                 android:layout_width="wrap_content" 
                 android:layout_height="wrap_content" 
                 android:id="@+id/wordpress_logo" 
                 android:src="@drawable/wordpress_home"> 
      </ImageView> 
      <!-- 
      android:typeface 字体风格 
      --> 
      <TextView android:text="@+id/TextView01" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:layout_marginTop="20dip" 
                android:typeface="serif" 
                android:shadowDx="0" 
                android:shadowDy="2" 
                android:shadowRadius="1" 
                android:shadowColor="#FFFFFF" 
                android:textColor="#444444" 
                android:textSize="20dip" 
                android:id="@+id/versionNumber" 
                android:gravity="bottom"> 
      </TextView> 
  </LinearLayout>
安卓(android)开发热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号