📜  如何在Android中使用图层列表创建启动画面?

📅  最后修改于: 2021-05-13 15:23:09             🧑  作者: Mango

初始屏幕是在应用程序启动时显示的初始屏幕。因此,可以在屏幕启动时显示徽标或显示应用程序的名称。与WhatsApp或Instagram应用程序启动时的操作类似。他们显示其应用程序的简单徽标。现在,问题来了,为此,您需要进行启动器活动,并在该活动中使用XML来显示内容。并将该XML代码添加到onCreate()方法的setContentView()的活动类中。因此在启动时,由于已知onCreate()方法是一个繁重的过程。在应用程序中加载XML代码内容的时间花费了太多时间,直到启动时出现空白屏幕,这被称为冷启动。为避免出现黑屏,您可以使用另一种方法,该方法使用图层列表并将其用作清单中的主题。

让我们开始实践部分。

步骤1:创建可绘制资源

在要添加初始屏幕内容的位置添加一个新的可绘制资源。转到res目录-> drawable-> your_splashScreenDrawable.xml

XML


      
        
    
    
       
        
    


XML


Kotlin
class MainActivity:AppCompatActivty(){  
    
private val mHandler = Handler(Looper.getMainLooper()) 
private val mLauncher: Launcher = Launcher()
    override fun onStart() {
        super.onStart()
        mHandler.postDelayed(mLauncher, SPLASH_DELAY.toLong())
    }
  
    override fun onStop() {
        mHandler.removeCallbacks(mLauncher)
        super.onStop()
    }
  
    private fun launch() {
        if (!isFinishing) {
               startActivity(Intent(this@MainActivity, AnotherActivity::class.java))
            finish()
        }
    }
  
  
    private inner class Launcher : Runnable {
        override fun run() {
            launch()
        }
    }
  
    companion object {
        private const val SPLASH_DELAY = 2000
        private const val TAG = "MainActivity"
    }
}


XML

    
      
      
    


在此代码段中,您将在layer-list中使用item标签。这些Item标签具有特定的属性,可以满足您的需求。因此,此代码段将是启动屏幕,其中包含具有背景色的位图。

步骤2:将可绘制资源添加到styles.xml中

XML格式


而且styles.xml中的这段代码将为启动屏幕添加额外的属性,例如全屏等等。在此属性android:windowBackground将添加可绘制资源作为屏幕背景。

步骤3:处理MainActivity.kt文件中的启动画面显示时间

科特林

class MainActivity:AppCompatActivty(){  
    
private val mHandler = Handler(Looper.getMainLooper()) 
private val mLauncher: Launcher = Launcher()
    override fun onStart() {
        super.onStart()
        mHandler.postDelayed(mLauncher, SPLASH_DELAY.toLong())
    }
  
    override fun onStop() {
        mHandler.removeCallbacks(mLauncher)
        super.onStop()
    }
  
    private fun launch() {
        if (!isFinishing) {
               startActivity(Intent(this@MainActivity, AnotherActivity::class.java))
            finish()
        }
    }
  
  
    private inner class Launcher : Runnable {
        override fun run() {
            launch()
        }
    }
  
    companion object {
        private const val SPLASH_DELAY = 2000
        private const val TAG = "MainActivity"
    }
}

现在,此代码是主要部分,因为它可以处理屏幕显示时间。这里,扩展Runnable的Launcher类被处理程序对象延迟,并且延迟时间完成后,Launcher将转到另一个活动。现在,剩下的关键部分在应用程序的清单文件中。

步骤4:将样式用作清单文件中的主题

转到清单目录->打开AndroidManifest.xml。在清单文件中的活动标签中,添加一个主题属性,您将在其中将此可绘制对象添加为应用程序中的主题。

XML格式


    
      
      
    

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!