Android Splash屏幕示例
时间:2020-02-23 14:29:17 来源:igfitidea点击:
在本教程中,我们将看到如何创建Android Splash屏幕。
Android Splash屏幕只不过是屏幕,只要一些背景任务(例如从数据库获取数据,加载图像)正在进行时出现。
这些任务通常很长时间任务,我们可以显示Splash屏幕(加载动画)。
Splash屏幕可以是应用程序图标,徽标,打字机。
后台任务完成后,将被调用另一个活动。
例如:当Xender应用程序加载时,我们将看到如下屏幕。
第1步:创建项目
创建一个Android应用程序ProjectNamed"Splashscreexampleapp"。
第2步:将任何图像放在带有名称"Splash_Logo"的Drawable文件夹中
第3步:创建启动屏幕布局文件
- 转到res - >布局
- 右键单击布局
- 单击"新建 - >文件"。
- 创建一个名为"splash_screen.xml"的文件,并在splash_screen.xml中粘贴以下代码。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="16dp" android:paddingBottom="16dp"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/splash_logo" android:layout_gravity="center" </LinearLayout>
第4步:创建Splashactivity
package com.theitroad.splashscreenexampleapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import com.theitroad.splashscreenexampleapp.R; public class SplashActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash_screen); //creating new thread just for demonstration of background tasks Thread t=new Thread() { public void run() { try { //sleep thread for 10 seconds sleep(10000); //Call Main activity Intent i=new Intent(SplashActivity.this, com.theitroad.splashscreenexampleapp.MainActivity.class); startActivity(i); //destroying Splash activity finish(); } catch (Exception e) { e.printStackTrace(); } } }; //start thread t.start(); } }
如上所述创建Splashactivity。
我们正在创建一个新的线程,并呼叫睡眠10秒。
实际上,这将被实际任务所替换,例如从数据库或者加载图像获取数据。
第5步:创建布局
更改RES - >布局 - > Activity_main.xml如下所示:
<?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/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.theitroad.splashscreenexampleapp.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World from theitroad.com" </RelativeLayout>
第6步:创建MainActivity
更改src/main/packageName/mainActivity.java如下:
package com.theitroad.splashscreenexampleapp; import android.app.Activity; import android.os.Bundle;
<span style="background-color: #e4e4ff; color: navy; font-weight: bold;">import android.support.v7.app.AppCompatActivity;
import com.theitroad.splashscreenexampleapp.R; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
它是Helloworld应用程序提供的默认主动。
第7步:更改androidmanifest.xml
我们需要将启动器活动作为SplashActive将启动器活动汇总,因此我们需要在App - > SRC - > Main - > AndroidManifest.xml中进行以下更改:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.theitroad.splashscreenexampleapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name="com.theitroad.splashscreenexampleapp.SplashActivity" android:label="@string/app_name" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" <category android:name="android.intent.category.LAUNCHER" </intent-filter> </activity> <activity android:name=".MainActivity" android:label="@string/app_name"> </activity> </application> </manifest>