Android 狀態(tài)欄的設(shè)置

隱藏標(biāo)題欄

先看一下默認(rèn)的情況:

Paste_Image.png

藍(lán)色一行是自定義的導(dǎo)航欄茫死,
黑色的是自帶的 ActionBar ,也就是我們說的標(biāo)題欄。

首先一般都會選擇去掉 ActionBar:

Paste_Image.png

隱藏 actionbar 有很多種方法

  • 直接在AndroidManifest.xml中,全局的改動 app 的主題
    <application>下的
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
AndroidManifest

這種方法是全局中隱藏了標(biāo)題欄。

  • 在 OnCreat() 中加入
    注意要加在 setContentView() 的前面
    這種方法可以指定 Activity 設(shè)置
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 隱藏標(biāo)題欄
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    
    setContentView(R.layout.activity_news);
}

其實(shí)在我的手機(jī)更新系統(tǒng)之前边翁,隱藏了 ActionBar 后,狀態(tài)欄和自定義的導(dǎo)航欄顏色是相匹配的硕盹,不知道什么原因現(xiàn)在默認(rèn)為灰色了符匾。

狀態(tài)欄相融

上面使用的主題雖然隱藏了標(biāo)題欄,但是和我們自定義的導(dǎo)航欄不搭莱睁,
這時候我們可以選擇用自定義的主題(Theme)待讳,來改變狀態(tài)欄:

在 values 下的 style.xml 中添加

<resources>
...
    <style name="MTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">false</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <!--Android 5.x開始需要把顏色設(shè)置透明,否則導(dǎo)航欄會呈現(xiàn)系統(tǒng)默認(rèn)的淺灰色-->
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
...
</resources>

或者在 onCreate 中:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
                    ,WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
                    ,WindowManager.LayoutParams.FLAG_FULLSCREEN);

上面兩行一般不一起設(shè)置仰剿,二選一即可创淡。
第一行設(shè)置導(dǎo)航欄為透明,第二行將導(dǎo)航欄隱藏南吮。
不推薦第二種做法琳彩,如果一個 Activity 中設(shè)置了隱藏導(dǎo)航欄而另一個 Activity 沒有,那兩者切換的時候會不好看。

融合的效果:


Paste_Image.png

狀態(tài)欄和 app 頂部相融合了露乏,如果標(biāo)題欄是一張圖片效果會更好碧浊。
這里還有一個問題,狀態(tài)欄的文字和我們導(dǎo)航欄的文字重疊了瘟仿,
我們可以選擇在布局文件的根元素中添加:

android:fitsSystemWindows="true"

讓布局為狀態(tài)欄留出空間箱锐,就不會出現(xiàn)上面這張被狀態(tài)欄遮擋的情況。

改變狀態(tài)欄的顏色

如果像上面的例子是一樣的純色的標(biāo)題欄劳较,我們可以選擇直接改變狀態(tài)欄的顏色解決問題驹止。

<resources>
    <style name="ColorTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">false</item>
        <item name="android:windowTranslucentNavigation">false</item>
        <item name="android:statusBarColor">#3EC5FF</item>
    </style>
</resources>
Paste_Image.png

或者:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = this.getWindow();
    //取消設(shè)置透明狀態(tài)欄,使 ContentView 內(nèi)容不再覆蓋狀態(tài)欄
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    //需要設(shè)置這個 flag 才能調(diào)用 setStatusBarColor 來設(shè)置狀態(tài)欄顏色
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    //設(shè)置狀態(tài)欄顏色
    window.setStatusBarColor(getResources().getColor(R.color.blueDark));
}

完全去掉狀態(tài)欄

不顯示時間、電量等信息和文字:

完全隱藏狀態(tài)欄

同要可以用修改 Theme 來實(shí)現(xiàn):

<style name="ImageTranslucentTheme">
    <!-- 隱藏狀態(tài)欄 -->
    <item name="android:windowFullscreen">true</item>
    <!-- 隱藏標(biāo)題欄 -->
    <item name="android:windowNoTitle">true</item>
</style>

或者在 OnCreat() 中加入观蜗,還是要注意加在 setContentView() 的前面

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 隱藏標(biāo)題欄
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    // 隱藏狀態(tài)欄
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_news);
}

如果想讓圖片全屏要注意設(shè)置為:

android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
//android:scaleType="fitXY"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末臊恋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子墓捻,更是在濱河造成了極大的恐慌抖仅,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砖第,死亡現(xiàn)場離奇詭異撤卢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梧兼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門凸丸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人袱院,你說我怎么就攤上這事〔t稼!?“怎么了忽洛?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長环肘。 經(jīng)常有香客問我欲虚,道長,這世上最難降的妖魔是什么悔雹? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任复哆,我火速辦了婚禮,結(jié)果婚禮上腌零,老公的妹妹穿的比我還像新娘梯找。我一直安慰自己,他們只是感情好益涧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布锈锤。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪久免。 梳的紋絲不亂的頭發(fā)上浅辙,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音阎姥,去河邊找鬼记舆。 笑死,一個胖子當(dāng)著我的面吹牛呼巴,可吹牛的內(nèi)容都是我干的泽腮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼伊磺,長吁一口氣:“原來是場噩夢啊……” “哼盛正!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屑埋,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤豪筝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后摘能,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體续崖,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年团搞,在試婚紗的時候發(fā)現(xiàn)自己被綠了严望。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡逻恐,死狀恐怖像吻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情复隆,我是刑警寧澤拨匆,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站挽拂,受9級特大地震影響惭每,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亏栈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一台腥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绒北,春花似錦黎侈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箕母。三九已至,卻和暖如春俱济,著一層夾襖步出監(jiān)牢的瞬間嘶是,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工蛛碌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留聂喇,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓蔚携,卻偏偏與公主長得像希太,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酝蜒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容