Android启动过程中背景图片显示

时间:2022-05-01 22:00:11

转自:http://blog.csdn.net/zhangzhikaixinya/article/details/17001321

大部分Android App启动过程中,都会设置一个背景图片,直到App加载成功,图片消失。因此,这也是做Android App的基本技能之一。这个过程实现起来并不难。

总共需要以下内容:2个Activity,一张背景图,2个xml配置文件,String.xml,AndroidManifest写入配置信息。

Android启动过程中背景图片显示

1 准备一张背景图图片,命名为load,自己选择图片格式。放在drawable目录下

2  创建Load页面 LoadActivity.java及相关布局文件load.xml

LoadActivity.java

  1. package com.timothy.load;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.content.Intent;
  5. import android.graphics.PixelFormat;
  6. import android.os.Handler;
  7. import android.view.WindowManager;
  8. public class LoadActivity extends Activity {
  9. //time for picture display
  10. private static final int LOAD_DISPLAY_TIME = 1500;
  11. /** Called when the activity is first created. */
  12. @Override
  13. public void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. getWindow().setFormat(PixelFormat.RGBA_8888);
  16. getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);
  17. setContentView(R.layout.load);
  18. new Handler().postDelayed(new Runnable() {
  19. public void run() {
  20. //Go to main activity, and finish load activity
  21. Intent mainIntent = new Intent(LoadActivity.this, MainActivity.class);
  22. LoadActivity.this.startActivity(mainIntent);
  23. LoadActivity.this.finish();
  24. }
  25. }, LOAD_DISPLAY_TIME);
  26. }
  27. }

load.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:gravity="center|center"
  5. android:layout_width="fill_parent"
  6. android:layout_height="fill_parent"
  7. android:background="@drawable/load">
  8. </LinearLayout>

3  创建主页面 MainActivity.java及相关布局文件main.xml

MainActivity.java

  1. package com.timothy.load;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. public class MainActivity extends Activity {
  5. /** Called when the activity is first created. */
  6. @Override
  7. public void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);
  10. }
  11. }

main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:text="@string/hello"
  11. />
  12. </LinearLayout>

4 配置strings.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="hello">Hello, this is a demo to picture before app start</string>
  4. <string name="app_name">LoadPictureDemo</string>
  5. <style name="MyTheme.NoTitleBar.CustomBackground" parent="@android:Theme.Black">
  6. <item name="android:windowBackground">@drawable/load</item>
  7. <item name="android:windowNoTitle">true</item>
  8. <item name="android:windowFullscreen">true</item>
  9. <item name="android:windowContentOverlay">@null</item>
  10. </style>
  11. </resources>

5 配置AndroidManifest.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.timothy.load"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <uses-sdk android:minSdkVersion="8" />
  7. <application android:icon="@drawable/icon" android:label="@string/app_name">
  8. <activity android:name=".LoadActivity"
  9. android:configChanges="orientation|keyboardHidden"
  10. android:theme="@style/MyTheme.NoTitleBar.CustomBackground">
  11. <intent-filter>
  12. <action android:name="android.intent.action.MAIN" />
  13. <category android:name="android.intent.category.LAUNCHER" />
  14. </intent-filter>
  15. </activity>
  16. <activity android:name=".MainActivity">
  17. </activity>
  18. </application>
  19. </manifest>

6 OK, 编译运行

启动过程中:

Android启动过程中背景图片显示

Android启动过程中背景图片显示

完成启动:

Android启动过程中背景图片显示

Android启动过程中背景图片显示