编程语言
首页 > 编程语言> > 一起Talk Android吧(第三百一十一回:创建程序启动界面Splash Screen二)

一起Talk Android吧(第三百一十一回:创建程序启动界面Splash Screen二)

作者:互联网

各位看官们,大家好,上一回中咱们说的是Android中创建程序启动界面的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!


看官们,上一章回中我们通过修改程序的主题来创建程序启动界面,本章回中我们再介绍一种创建程序启动界面的方法,具体步骤如下:

注意这里使用了AST中自带的Activity模板,具体操作如下:File ->New -> Activity -> Fullscreen Activity,此操作是在AST 4.0版本上进行的,版本不同操作细节上可能会有差别。


保存代码并且运行程序就可以看到一个覆盖整个屏幕并且没有ActionBar的界面,我们在这里就不演示程序运行结果了,大家可以自己动手实践。


我们在上一章回中通过配置主题去掉了Activity上的ActionBar,在这里使用的是AST提供的模板去掉了ActionBar,其中的原理是什么?是不是也是使用了主题?我们带着好奇心查看主题的代码后并没有在主题中发现去掉ActionBar的代码,那么只能是在代码中去掉的。我们跟着这个思路打开了FullscreenActivity的java代码,通过查找和分析,发现它使用了一个叫hide()的方法来去掉ActionBar的,该方法的核心代码如下:

        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }


代码中首先获取了ActionBar,然后通过ActionBar的hide()方法隐藏了ActionBar.因此可见AST的模板是通过Java代码去掉ActionBar的。


对比一下这两种方法就会发现,它们在创建程序启动界面时都去掉了ActionBar,那么这个ActionBar是如何添加到程序中的呢?其实早期的Activity中是没有ActionBar的,它是在AppCompatActivity中引入的,当我们创建工程时MainActivity默认继承AppCompatActivity,因此在界面上会显示ActionBar.如果我们让MainActivity继承Activity时,界面上就不会显示ActionBar。虽然这样也可以实现全面覆盖屏幕的效果,但是在实际项目中不建议这么操作,因为这会破坏程序的兼容性。

最后我们总结一下创建程序启动界面的整体思路:


各位看官,关于Android中创建程序启动界面的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

标签:ActionBar,界面,创建,Screen,程序,Splash,Activity,Android,代码
来源: https://blog.csdn.net/talk_8/article/details/120573638