完美解决Android App启动页有白屏闪过的问题

编辑: admin 分类: 安卓教程 发布时间: 2022-03-14 来源:互联网

应用启动的时候有短暂的白屏,如图:

可以通过设置theme的方式来解决

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- 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="AppTheme.Transparent">
    <item name="android:windowIsTranslucent">true</item>
    <item name="windowNoTitle">true</item>
  </style>

在AndroidManifest中使用 AppTheme.Transparent

<activity android:name=".MainActivity"
      android:theme="@style/AppTheme.Transparent"
      >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>

然后重新运行程序安装。

补充知识:解决Android启动页白屏及图片拉伸的问题

【Android小知识】

为了解决Android冷启动延迟、白屏等问题,往往会将启动图片设置到styles.xml文件中去,但是直接在style文件中引用图片的话很大可能会造成图片拉伸和变形,所以建议将图片配置到xml中去,最后在style文件中引入xml就可以了,如下代码所示:

style.xml

  <style name="SplashActivityThemes" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/bg_splash</item>
    <item name="android:windowFullscreen">true</item>
  </style>

bg_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
  <item>
    <shape>
      <solid android:color="#FFFFFF"/>
    </shape>
  </item>
  <item
    android:bottom="50dp">
    <bitmap
      android:gravity="bottom|center_horizontal"
      android:src="@mipmap/icon_welcome"/>
  </item>
</layer-list>

以上这篇完美解决Android App启动页有白屏闪过的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持海外IDC网。

更多阅读