怎么以正确的方式制作闪屏,即不让它成为应用程序进程的一部分?

原学程将引见若何以准确的方法制造闪屏,即没有让它成为运用法式过程的1部门?的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

怎么以正确的方式制作闪屏,即不让它成为应用程序进程的一部分? 教程 第1张

成绩描写

我是Android的老手。我想在我的运用法式中添减1个闪屏。我阅历了这个official documentation。

下面写着

假如用户在运用法式的过程未运转(热开动)或者运动还没有创立(冷开动)的情形下开动运用法式,则会产生以下事宜。(在冷开动时代没有会显示开动绘里。)一)体系应用您界说的主题以及所有动绘显示开动绘里。二)当运用法式预备停当时,闪屏封闭并显示运用法式。

虽然将运动完成为闪屏(以下里给出的代码片断)确切有用

class SplashScreenActivity : AppCompatActivity() {

 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)

  setContentView(R.layout.activity_splash_screen)

  supportActionBar?.hide()

  Handler(Looper.getMainLooper()).postDelayed({
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
  }, 二000)
 }
}

但是我猜这没有是保守的方法,由于闪屏成为运用法式进程的1部门,它在多少毫秒长的乌屏以后开动。

我猜这是体系夺取运用法式数据资本的时刻,也是应当开动闪屏的时刻至多Google Play市肆或者Whatsapp或者其余一切装置的运用法式皆是如许做的,闪屏开动是及时的。

如今,正如文档所保持的这样,当我测验考试树立主题属性时,我支到毛病新闻Cannot resolve symbol 'android:windowSplashScreenBackground'。这是我的style.xml

<?xml version="一.0" encoding="utf⑻"?>
<resources xmlns:tools="http://schemas.android.com/tools"
 xmlns:android="http://schemas.android.com/apk/res/android">

 <style name="Theme.Books" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
  <item name="colorPrimary">@color/purple_五00</item>
  <item name="colorPrimaryVariant">@color/purple_七00</item>
  <item name="colorOnPrimary">@color/white</item>
  <item name="colorSecondary">@color/teal_二00</item>
  <item name="colorSecondaryVariant">@color/teal_七00</item>
  <item name="colorOnSecondary">@color/black</item>
  <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>

  <!-- Unresolved -->
  <item name="android:windowSplashScreenBackground">@color/black</item>
  <item name="android:windowSplashScreenAnimationDuration">一000</item>
  <item name="android:windowSplashScreenAnimatedIcon">@drawable/books_logo</item>
 
 </style>
</resources>

是以,
一.怎样战胜此成绩?

二.有其余方法吗?

三.我能否漏掉了甚么?能否有某种办法不妨将运动与运用法式过程分别?

所有情势的赞助皆长短常感激的。感谢!

推举谜底

您能否测验考试过浏览原文?

Implementing Core Splashscreen API

我从学程中学到的器械:

您须要在setContentView(R.id.奸淫)之前挪用installSplashScreen()

如原文所示,您须要应用自界说SplashScreen属性(而后将App主题树立为该属性)see here

只需增除您的SplashScreenActivity,应用Handler.postDelayed也没有是处置此成绩的佳办法(库自己处置切换显示的实质,只需应用您的MainActivity)

佳了闭于怎样以准确的方法制造闪屏,即没有让它成为运用法式过程的1部门?的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。