如有转载,请申明:
转载至 http://blog.csdn.net/qq_35064774/article/details/52674997
问题
如何在Android Studio中做一个全屏的启动界面(Splash Activity)?
背景(基本是废话,没兴趣的请跳过)
前段时间把IED换成Android Studio2.2之后,碰到了一些“坑”。
就在今天,我打算新开一个项目,然后项目代码还没写就碰到问题了。
以前在Eclipse中的通过配置Activity的theme已经不起作用了。
然后我反射性的去查百度,却发现答案千篇一律(越来越对BaiDu失望了),基本是说AS中新建的Activity继承的是AppCompatActivity,所以只能用Theme.AppCompat.xxx里面的主题,要把AppCompatActivity改成Activity,然后才能使用以前的主题。
作为强迫症晚期患者,当然不想改成Activity,于是我就到Stack Overflow中找答案,结果发现一个类似问题,但也是说改成Activity。结果让我失望了(也许是我英语不好,关键词不对)。
最后我想起来在AS中新建Activity的时候,有个FullScreen Activity的样板,然后在那里我找到了答案。
解决方案
1 先说我在百度和Stack Overflow中找到的方案。
找到需要全屏显示的那个Activity,把它继承的AppCompatActivity改成Activity,然后就可以和以前一样。
1) 通过代码实现
- this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
- this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏
2) 通过theme实现
- <activity android:name=".ActivityName"
- android:label="@string/app_name"
- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
2 在AS的模版代码中总结出来的。隐藏ActionBar + FullScreen
在onCreate中调用如下两个方法,就可以实现隐藏标题栏和信息栏,实现全屏显示。
- /**
- * hide action bar
- */
- private void hideActionBar() {
- // Hide UI
- ActionBar actionBar = getSupportActionBar();
- if (actionBar != null) {
- actionBar.hide();
- }
- /**
- * set the activity display in full screen
- */
- private void setFullScreen() {
- this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);