问题
如何在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);
}
---------------------
作者:宇不语
来源:CSDN
原文:https://blog.csdn.net/qq_35064774/article/details/52674997
版权声明:本文为博主原创文章,转载请附上博文链接!