問題
如何在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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!