閃屏頁面是指APP剛啟動時的頁面會自動跳轉到主頁面

單單實現閃屏頁面非常簡單。

閃屏界面的作用:

1.展示自己軟體的logo,口號標識語等

2.作為廣告平臺,獲取利益3.載入下一頁面(其他Activity或全局)所需要的數據4.檢查更新

關注一下專欄Android高級開發架構(記得看專欄簡介哦~)每天更新各種技術乾貨、進階架構知識、面試經驗分享。

首先目錄結構

SplashActivity

package com.hxh.splashactivitydemo;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Window;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.RelativeLayout;
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設置沒有標題欄
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_splash);
RelativeLayout layoutSplash=(RelativeLayout) findViewById(R.id.activity_splash);
AlphaAnimation alphaAnimation=new AlphaAnimation(0.1f,1.0f);
alphaAnimation.setDuration(1000);//設置動畫播放時長1000毫秒(1秒)
layoutSplash.startAnimation(alphaAnimation);
//設置動畫監聽
alphaAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
//動畫結束
@Override
public void onAnimationEnd(Animation animation) {
//頁面的跳轉
Intent intent=new Intent(SplashActivity.this,MainActivity.class);
startActivity(intent);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});

}
}

MainActivity主界面

package com.hxh.splashactivitydemo;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.Window;

/**
* Created by HuXiaoHui on 2017/10/9.
*/

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去掉標題欄
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
}

activity_splash.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_splash"
android:layout_width_="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_background"
tools:context="com.hxh.splashactivitydemo.SplashActivity">

<TextView
android:id="@+id/text"
android:layout_width_="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dp"
android:text="SplashDemo"
android:textSize="50dp"
android:textColor="#fff" />
</RelativeLayout>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width_="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text"
android:layout_width_="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:text="歡迎進入主界面"
android:textSize="30dp"
android:textColor="#f00" />
</RelativeLayout>

最後還需要更改AndroidManifest.xml

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" >
</activity>
</application>

首先在AndroidManifest.xml中註冊新加入的SplashActivity

然後將的內容放在SplashActivity下。意思就是讓SplashActivity的內容先啟動。然後再跳轉到MainActivity

讀者福利限時分享

上述只是眾多Android開發知識點的一部分,小編針對BATJM等一線大廠的面試題做了一些整理,還針對Android開發的同行,給大家整理了一些進階資料,其中分享內容包括但不限於【高級UI、性能優化、移動架構師、NDK、混合式開發(ReactNative+Weex)微信小程序、Flutter等全方面的Android進階實踐技術】希望能幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也是可以分享給身邊好友一起學習的!

學習提升進階直通車:有任何問題,歡迎你來一起交流,互相學習

轉發+點贊,關注一下專欄Android高級開發架構(記得看專欄簡介哦~)每天更新各種技術乾貨、進階架構知識、面試經驗分享。

學習提升進階直通車:有任何問題,歡迎你來一起交流,互相學習

轉發+點贊,關注一下專欄Android高級開發架構(記得看專欄簡介哦~)每天更新各種技術乾貨、進階架構知識、面試經驗分享。

Android架構師之路很漫長,一起共勉吧!


推薦閱讀:
相關文章