使用窗口主题直接设置背景图片,使用"图层"资源实现多个图片叠加成一个启动图片.
示例:新浪微博启动界面
步骤一:
在res/drawable目录下创建一个splash.xml文件,同时准备dragon.png、splash_bottom.png和dragon_year.png这3个图片.
splash.xml内容如下:
注:"图层"资源要使用<layer-list>标签,其中每一个图像要放在一个<item>中。
步骤二:
在res/values目录下创建styles.xml文件,内容如下:
步骤三:
由于在styles.xml文件中设置了全屏,所以在主界面出现前,应该设置为非全屏显示.代码如下:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
步骤四:
示例:新浪微博启动界面
步骤一:
在res/drawable目录下创建一个splash.xml文件,同时准备dragon.png、splash_bottom.png和dragon_year.png这3个图片.
splash.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/dragon_year"/>
<!-- 离顶端30dp -->
<item android:top="30dp">
<bitmap
android:gravity="top"
android:src="@drawable/dragon"/>
</item>
<item>
<bitmap
android:gravity="bottom"
android:src="@drawable/splash_bottom"/>
</item>
</layer-list>
注:"图层"资源要使用<layer-list>标签,其中每一个图像要放在一个<item>中。
步骤二:
在res/values目录下创建styles.xml文件,内容如下:
<style name="Theme.Splash" parent="android:Theme">
<!-- 将图层资源作为背景图像 -->
<item name="android:windowBackground">@drawable/splash</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
步骤三:
由于在styles.xml文件中设置了全屏,所以在主界面出现前,应该设置为非全屏显示.代码如下:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
步骤四:
修改AndroidManifest.xml文件.
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name=".LinearLayoutActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
运行结果: