赞
踩
怎样实现类似于“BOSS直招”Splash界面(Android启动界面)的那种全屏效果呢?如图所示:
其实几行代码就搞定了,以下是我实现的步骤。首先,编写界面:
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/rl_root"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="#4CDCCA"
- tools:context=".activity.MainActivity">
-
- <TextView
- android:id="@+id/title"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="90dp"
- android:gravity="center"
- android:text="BOSS直招"
- android:textColor="@android:color/white"
- android:textSize="50dp"
- android:textStyle="bold" />
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/title"
- android:layout_marginTop="10dp"
- android:gravity="center"
- android:text="互联网直招神器"
- android:textColor="@android:color/white"
- android:textSize="18dp" />
-
- <TextView
- android:id="@+id/tv_version"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_marginBottom="20dp"
- android:gravity="center"
- android:text="版本号:1.0.0"
- android:textColor="@android:color/white" />
-
- </RelativeLayout>
2. 在styles.xml文件中添加样式。我取名为FixSystemWindowTheme,还是让它继承自原来项目默认的AppTheme,只是我们添加了一个全屏的属性,如下代码:
- <resources>
-
- <!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
- <!-- Customize your theme here. -->
- <item name="colorPrimary">@color/colorPrimary</item>
- <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
- <item name="colorAccent">@color/colorAccent</item>
- </style>
-
- <style name="FixSystemWindowTheme" parent="AppTheme">
- <item name="android:windowFullscreen">true</item>
- </style>
-
- </resources>
在AndroidManifest.xml文件里让我们的Activity使用FixSystemWindowTheme主题,如下代码:
- <activity
- android:name=".activity.SplashActivity"
- android:theme="@style/FixSystemWindowTheme">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
-
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
运行APP后我们可以看到界面效果,虽然APP界面全屏了,但是并没有达到我们想要的效果,因为继承自AppTheme主题,项目默认是显示TitleBar的。如图所示:
3. 那我们再添加不显示TitleBar的属性:
- <resources>
-
- <!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
- <!-- Customize your theme here. -->
- <item name="colorPrimary">@color/colorPrimary</item>
- <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
- <item name="colorAccent">@color/colorAccent</item>
- </style>
-
- <style name="FixSystemWindowTheme" parent="AppTheme">
- <item name="android:windowFullscreen">true</item>
- <item name="windowNoTitle">true</item>
- </style>
-
- </resources>
再次运行项目,可以看到已经达到我们想要的效果了:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。