现在的app都有开屏页,就是那个你打开app会停留几秒并且可能有广告的页面,尤其是一些恶心的app,点跳过也让能你跳转广告,简直无语!
那么开屏页怎么弄呢?这里找到了一个方法,亲测有效!原理其实很简单,就是新建一个Activity,加载图片停留几秒时间,然后切换到你的主页MainActivity。
- 首先先找好一张图片,放到我们项目的drawable文件夹下
- 新建splash_page.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/splash_page"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_page"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/splash_page"
/>
</LinearLayout>
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
public class SplashActivity extends AppCompatActivity {
private static final int sleepTime = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
final View view = View.inflate(this, R.layout.splash_page, null);
setContentView(view);
super.onCreate(savedInstanceState);
}
@Override
protected void onStart() {
super.onStart();
new Thread(new Runnable() {
public void run() {
long start = System.currentTimeMillis();
long costTime = System.currentTimeMillis() - start;
if (sleepTime - costTime > 0) {
try {
Thread.sleep(sleepTime - costTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
}
}).start();
}
}
- 在values文件夹下的Theme.xml新加一个style,去掉title,即全屏显示
<style name="Theme.Full" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
- 在AndroidManifest.xml中修改主入口,设置theme
<activity
android:name=".MainActivity"
android:exported="true">
</activity>
<activity
android:name=".SplashActivity"
android:exported="true"
android:theme="@style/Theme.Full">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
看效果:
参考: 安卓开发-应用启动“开屏页设置” 我是这样设置 Android 启动页的!!!
|