重構一:歡迎頁
阿新 • • 發佈:2018-12-25
本歡迎頁只有一張圖片,預設展示3秒,採用theme方式進行設定。
第一步: 建立一個型別為Empty Activity的WelcomeActivity,刪除act_welcome中多餘的控制元件,只保留根佈局。
act_welcome.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
tools:context=".general.welcome.WelcomeActivity">
</android.support.constraint.ConstraintLayout>
第二步: 在styles.xml中新增一個自定義style,設定視窗背景為歡迎頁圖片,並繼承AppTheme(一定要繼承AppTheme,否則執行會報錯——You need to use a Theme.AppCompat theme (or descendant) with this activity.
styles.xml
<style name="Welcome" parent="AppTheme">
<item name="android:windowBackground">@mipmap/welcome</item>
</style>
第三步: 在AndroidMenifest.xml中為WelcomeActivity設定Theme,theme內容為@style/Welcome(注意只能為WelcomeActivity設定主題,若設定到Application下,那麼每個Activity都會有背景)
AndroidMenifest.xml
<activity
android:name=".general.welcome.WelcomeActivity"
android:theme="@style/Welcome"
android:windowSoftInputMode="adjustNothing">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
第四步: 在WelcomeActivity中設定Handler,實現延時效果
WelcomeActivity.java
package com.example.reconfigmvp.general.welcome;
import android.content.Intent;
import android.os.Handler;
import android.os.Bundle;
import com.example.reconfigmvp.general.home.HomeActivity;
public class WelcomeActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
postDelayed();
}
/**
* 使用Handler實現延時3秒進入主頁的效果
*/
private void postDelayed() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(WelcomeActivity.this, HomeActivity.class);
startActivity(intent);
}
}, 3000);
}
}
至此,一個簡單的歡迎頁就完成了,可以利用延時3秒的時間間隙進行一些判斷,比如是否已經登入等。