启动欢迎页面时,Android Studio设置全屏Activity

问题

如何在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
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇:IC 小常识


下一篇:h5 做app时和原生交互的小常识。