成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

android設(shè)置狀態(tài)欄顏色,android 狀態(tài)欄文字顏色

Android設(shè)置狀態(tài)欄顏色和狀態(tài)欄文字、圖標(biāo)顏色

Android開發(fā)中,經(jīng)常需要實(shí)現(xiàn)下圖狀態(tài)欄的效果,類似于沉浸式狀態(tài)欄,但這里僅僅是討論設(shè)置狀態(tài)欄的顏色和狀態(tài)欄上面文字、圖標(biāo)的顏色的方法。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了西平免費(fèi)建站歡迎大家使用!

Android 4.4(API 19)之后,就提供了修改狀態(tài)欄顏色的方法,但是在 Android 6.0(API 23)之后,才支持修改狀態(tài)欄上面的文字和圖標(biāo)顏色,默認(rèn)是白色的。所以會導(dǎo)致一個問題,在 4.4 到 6.0 之間的系統(tǒng),狀態(tài)欄設(shè)置為淺色的話,狀態(tài)欄上面白色的文字和圖標(biāo)會看不清,像下面這樣:

有一些第三方的系統(tǒng)提供了設(shè)置狀態(tài)欄和狀態(tài)欄文字、圖標(biāo)顏色的方法,比如小米的MIUI和魅族的Flyme,所以考慮了下比較好的實(shí)現(xiàn)方式是:

當(dāng)然,這里面也會有坑,比如 MIUI 提供的修改狀態(tài)欄字體顏色方法會跟 Android 系統(tǒng)自帶的方法沖突,官方說明如下: 關(guān)于MIUI狀態(tài)欄字符顏色邏輯調(diào)整說明

經(jīng)過網(wǎng)上的資料和自己的嘗試,MIUI 系統(tǒng)還是同時使用 MIUI 提供的方法和 Android 系統(tǒng)自帶的方法來修改狀態(tài)欄字體顏色比較保險。

基于上面的思考,封裝了設(shè)置 Android 4.4 以上系統(tǒng)狀態(tài)欄顏色和狀態(tài)欄字體、圖標(biāo)顏色的方法:

要在 Application Theme 加上 item name="android:fitsSystemWindows"true/item ,不然頁面會頂?shù)綘顟B(tài)欄上面,或者在 Activity 的布局里面加上 android:fitsSystemWindows="true" 和 android:clipToPadding="false" 也可以。

最終實(shí)現(xiàn)的效果如下:

大家有更好的方案可以告訴我~

Android狀態(tài)欄著色(非沉浸式狀態(tài)欄)

由于產(chǎn)品需求 , 要將一級頁面的5個Fragment設(shè)置不一樣顏色的狀態(tài)欄; 然后我對著網(wǎng)上的博文抄了一遍 ,發(fā)現(xiàn)兼容問題很差 , 要么就是頂部的狀態(tài)欄沒有實(shí)現(xiàn)全屏 , 要么就是底部的虛擬按鈕遮擋導(dǎo)航欄(華為手機(jī)和小米手機(jī)), 最后自定義主題和設(shè)置xml布局頂部高度來解決了這個問題;

解決方案:

第一步.在values的styles中自定義主題:

第二步.創(chuàng)建values-v19文件夾和styles.xml:

第三步.創(chuàng)建values-v21文件夾和styles.xml:

第三步.引用主題:

第四步.Fragment 狀態(tài)欄填充顏色:(如果一節(jié)界面的頭部是輪播圖直接預(yù)留20dp的高度)

不設(shè)置預(yù)留高度,狀態(tài)欄會和toolbar疊加在一起 (狀態(tài)欄在toolbar上方)

運(yùn)行后效果圖如下:

輪播圖在頂部的時候直接預(yù)留狀態(tài)欄的高度即可:

指定顏色的界面設(shè)置多一層有顏色的View:

android導(dǎo)航欄與狀態(tài)欄顏色及透明度

首先創(chuàng)建一個空項目,如下圖

可以看到狀態(tài)欄是白字黑背景, 導(dǎo)航欄也是白圖標(biāo)黑背景

嘿嘿, 我們先把狀態(tài)欄隱藏掉,在添加一個ImageView, 讓ImageView做背景(方便查看)

樣子如下:

將狀態(tài)欄和導(dǎo)航欄設(shè)置透明, 找到 Manifest.xml 文件, 在主題樣式中修改

android:statusBarColor 設(shè)置狀態(tài)欄背景色

android:navigationBarColor 同上

android:windowLightStatusBar 設(shè)置狀態(tài)欄文字色, true為深色, false為白色

android:windowLightNavigationBar 同上

android:windowTranslucentStatus 設(shè)置狀態(tài)欄半透明狀態(tài), true為半透明, false為不透明

android:windowTranslucentNavigation 同上

最后兩個半透明狀態(tài)下面沒用, 可自己嘗試看效果

效果圖如下:

可以看到導(dǎo)航欄與狀態(tài)欄并沒有透明,原因是默認(rèn)不能占用狀態(tài)欄空間與導(dǎo)航欄空間,根布局背景為白色,所有這里顯示白色

可以通過設(shè)置 getWindow().getDecorView().setSystemUiVisibility() 來適配

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 適配狀態(tài)欄空間

View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 適配導(dǎo)航欄空間

效果如下:

android狀態(tài)欄顏色修改

Activity activity = getActivity();

Window window = activity ==null ?null : activity.getWindow();

if (window !=null Build.VERSION.SDK_INT = Build.VERSION_CODES.M) {

window.setStatusBarColor(getResources().getColor(R.color.statusbarcolor, null));

int visibility = window.getDecorView().getSystemUiVisibility();

visibility = visibility|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;

window.getDecorView().setSystemUiVisibility(visibility);

}

設(shè)置狀態(tài)欄為沉浸式模式

Window window = getWindow();

if (window !=null) {

if (Build.VERSION.SDK_INT = Build.VERSION_CODES.M) {? ? ?window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)

window.setStatusBarColor(Color.TRANSPARENT); }

}

設(shè)置狀態(tài)欄為非沉浸式模式并設(shè)置顏色

Window window = getWindow();

if (window !=null) {

if (Build.VERSION.SDK_INT = Build.VERSION_CODES.M) {

window.setStatusBarColor(getResources().getColor(R.color.status_color));

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

}

}

android怎么改變狀態(tài)欄顏色

參考如下內(nèi)容:

android4.4 以下修改狀態(tài)欄顏色的方法為:

1、首先會懂得反編譯,電腦上要安裝java環(huán)境和反編譯工具。沒有的百度搜索下載安裝。這里就不多說了。

2、要準(zhǔn)備一個framework-res.apk放在一邊待用,把framework-res.apk復(fù)制到反編譯工具里、反編譯framework-res.apk后打開res\values\styles.xml。

3、直接搜索以下代碼

style name="TextAppearance.StatusBar" parent="@style/TextAppearance"

你會看見style name="TextAppearance.StatusBar" parent="@style/TextAppearance"

item name="textSize"14.0sp/item

item name="textStyle"normal/item

item name="textColor"?textColorPrimary/item

/style 然后修改這一段代碼item name="textColor"?textColorPrimary/item 為 item name="textColor"#ff000000/item

000000為顏色代碼 想要什么顏色就修改成自己喜歡的顏色就可以了 顏色對照表可以參考

4、然后回編譯?;鼐幾g完成后用電腦上的壓縮軟件打開回編譯好的framework-res.apk,拖出里面的resources.arsc替換進(jìn)事先準(zhǔn)備好的framework-res.apk里就可以了。然后用復(fù)制到內(nèi)存卡 用RE復(fù)制或者移動到system里 修改權(quán)限 3 1 0,在移動到framework里覆蓋就可以了。關(guān)機(jī)重啟,狀態(tài)欄的通知內(nèi)容顏色也變了。

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

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

藍(lán)色一行是自定義的導(dǎo)航欄,

黑色的是自帶的 ActionBar ,也就是我們說的標(biāo)題欄。

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

隱藏 actionbar 有很多種方法

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

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

上面使用的主題雖然隱藏了標(biāo)題欄,但是和我們自定義的導(dǎo)航欄不搭,

這時候我們可以選擇用自定義的主題(Theme),來改變狀態(tài)欄:

在 values 下的 style.xml 中添加

或者在 onCreate 中:

上面兩行一般不一起設(shè)置,二選一即可。

第一行設(shè)置導(dǎo)航欄為透明,第二行將導(dǎo)航欄隱藏。

不推薦第二種做法,如果一個 Activity 中設(shè)置了隱藏導(dǎo)航欄而另一個 Activity 沒有,那兩者切換的時候會不好看。

融合的效果:

狀態(tài)欄和 app 頂部相融合了,如果標(biāo)題欄是一張圖片效果會更好。

這里還有一個問題,狀態(tài)欄的文字和我們導(dǎo)航欄的文字重疊了,

我們可以選擇在布局文件的根元素中添加:

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

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

或者:

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

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

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

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

當(dāng)前標(biāo)題:android設(shè)置狀態(tài)欄顏色,android 狀態(tài)欄文字顏色
轉(zhuǎn)載源于:http://jinyejixie.com/article16/hojedg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、網(wǎng)站設(shè)計、虛擬主機(jī)、小程序開發(fā)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
乐业县| 固原市| 奉新县| 阿克苏市| 峨山| 准格尔旗| 宁德市| 佛坪县| 从化市| 邹城市| 稻城县| 阳西县| 夏邑县| 清流县| 甘肃省| 夹江县| 柳州市| 喀喇沁旗| 报价| 剑河县| 达拉特旗| 泽库县| 武夷山市| 岳普湖县| 瑞安市| 峨眉山市| 闸北区| 邵东县| 拜泉县| 汨罗市| 新疆| 肥东县| 莱阳市| 黄龙县| 大港区| 巴东县| 罗甸县| 白玉县| 定远县| 张家川| 周至县|