導航:首頁 > 操作系統 > android全透明狀態欄

android全透明狀態欄

發布時間:2023-02-21 02:55:31

⑴ 如何把安卓手機狀態欄變成透明的

建議可以去網路現成的帶有透明狀態欄的rom進行刷機,也可以自己做不過很麻煩。
1從手機里把狀態欄app提取出來復制到電腦上
2app後綴改成zip打開編輯提取一張狀態欄顏色的圖片用photoshop修改顏色至透明然後替換到zip壓縮包里
3封包之後放在手機安裝。
很多細節跟你講不清楚 不建議嘗試

android 隱藏狀態欄、標題欄、透明狀態欄的幾種方式

不管是繼承AppCompatActivity還是Activity都適用:
在style.xml定義

在AndroidManifest.xml裡面設置下theme屬性:

1.在style.xml定義

2.在AndroidManifest.xml裡面設置下theme屬性

⑶ Android 狀態欄的設置

先看一下默認的情況:

藍色一行是自定義的導航欄,
黑色的是自帶的 ActionBar ,也就是我們說的標題欄。

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

隱藏 actionbar 有很多種方法

這種方法是全局中隱藏了標題欄。

其實在我的手機更新系統之前,隱藏了 ActionBar 後,狀態欄和自定義的導航欄顏色是相匹配的,不知道什麼原因現在默認為灰色了。

上面使用的主題雖然隱藏了標題欄,但是和我們自定義的導航欄不搭,
這時候我們可以選擇用自定義的主題(Theme),來改變狀態欄:

在 values 下的 style.xml 中添加

或者在 onCreate 中:

上面兩行一般不一起設置,二選一即可。
第一行設置導航欄為透明,第二行將導航欄隱藏。
不推薦第二種做法,如果一個 Activity 中設置了隱藏導航欄而另一個 Activity 沒有,那兩者切換的時候會不好看。

融合的效果:

狀態欄和 app 頂部相融合了,如果標題欄是一張圖片效果會更好。
這里還有一個問題,狀態欄的文字和我們導航欄的文字重疊了,
我們可以選擇在布局文件的根元素中添加:

讓布局為狀態欄留出空間,就不會出現上面這張被狀態欄遮擋的情況。

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

或者:

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

同要可以用修改 Theme 來實現:

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

如果想讓圖片全屏要注意設置為:

⑷ android導航欄與狀態欄顏色及透明度

首先創建一個空項目,如下圖

可以看到狀態欄是白字黑背景, 導航欄也是白圖標黑背景
嘿嘿, 我們先把狀態欄隱藏掉,在添加一個ImageView, 讓ImageView做背景(方便查看)

樣子如下:

將狀態欄和導航欄設置透明, 找到 Manifest.xml 文件, 在主題樣式中修改

android:statusBarColor 設置狀態欄背景色
android:navigationBarColor 同上
android:windowLightStatusBar 設置狀態欄文字色, true為深色, false為白色
android:windowLightNavigationBar 同上
android:windowTranslucentStatus 設置狀態欄半透明狀態, true為半透明, false為不透明
android:windowTranslucentNavigation 同上

最後兩個半透明狀態下面沒用, 可自己嘗試看效果

效果圖如下:

可以看到導航欄與狀態欄並沒有透明,原因是默認不能佔用狀態欄空間與導航欄空間,根布局背景為白色,所有這里顯示白色
可以通過設置 getWindow().getDecorView().setSystemUiVisibility() 來適配

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 適配狀態欄空間
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 適配導航欄空間
效果如下:

⑸ 如何實現Android透明導航欄

實現功能

1.步驟:

1) 創建一個工程,主布局就先做一個ImageView,自己找個好看的圖片做src。
2) 在Activity重寫的onCreate方法中獲得窗口視圖對象(DecorView)
3) 設置DecorView的SystemUiVisibility
4) 設置導航條、狀態欄的顏色–>透明
5) 獲取當前Activity的ActionBar並隱藏

2.具體代碼和注釋:

獲取DecorView對象

java">@Override
protectedvoidonCreate(BundlesavedInstanceState){
...
ViewdecorView=getWindow().getDecorView();
...
}

設置SystemUiVisibility

intoption=View.SYSTEM_UI_FLAG_FULLSCREEN//全屏標記
|View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//布局全屏標記,避免退出全屏模式時內容被覆蓋
|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION//隱藏導航欄標記
|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//布局隱藏導航欄標記,同理
|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//粘性沉浸體驗
|View.SYSTEM_UI_FLAG_LAYOUT_STABLE;//確保上述標記穩定//此方法用來設置系統UI的可見性,系統UI包括狀態欄、ActionBar、導航欄devorView.setSystemUiVisibility(option);

設置狀態欄、導航欄的顏色:

getWindow().setStatusBarColor(Color.TRANSPARENT);//Color.TRANSPARENT=0表示#00000000即透明顏色
getWindow().setNavigationBarColor(Color.TRANSPARENT);

獲取本頁面的ActionBar並隱藏起來

ActionBaractionBar=getSupportActionBar();//注意:此處用的Activity繼承的是
AppCompatActivity(它繼承的是FragmentActivity)
//所以調用的是getSupport...方法,如果繼承Activity則直接調用get...方法
assertactionBar!=null;//這一句可以不理會,反正我是Ctrl+F1提示出來的,意思其實是判斷如果actionBar不為空則向下執行。
actionBar.hide();

注意:最後一點注意事項是:只支持Android API 21以上的手機

⑹ 如何將狀態欄設置透明

Android4.4以後, 可以將狀態欄設置為透明, 或者任意顏色
1. 全屏模式

最基本的在4.4版本之下會載入默認的values/styles.xml, 如果在4.4版本會載入 values-v19/styles.xml, 5.0以上載入 values-v21/styles.xml文件. 具體配置如下:

values/styles.xml

<style name="ImageTranslucentTheme" parent="AppTheme">
<!--在Android 4.4之前的版本上運行,直接跟隨系統主題--></style>123

values-v19/styles.xml

<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>1234

values-v21/styles.xml

<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowTranslucentStatus">false</item>
<item name="android:windowTranslucentNavigation">true</item>
<!--Android 5.x開始需要把顏色設置透明,否則導航欄會呈現系統默認的淺灰色-->
<item name="android:statusBarColor">@android:color/transparent</item>
</style>

⑺ Android 狀態欄透明

前言:最近項目大量用到狀態欄透明,網上也出現很多庫可以直接拿來用,個人認為沒有必要那麼重引用到一個庫(有木有同學和我有一樣的想法),所以研究了一番,在此做個記錄加強記憶也便後期查閱,如果無意中有幸能幫助到你那就再好不過了。

Android 從 4.4 (SDK 19) 開始支持 系統欄(狀態欄+導航欄)半透明 效果:

翻譯一下就是:

TranslucentDecor 主題設置了兩個屬性 windowTranslucentStatus 和 windowTranslucentNavigation 都為 true,前者指定狀態欄半透明、後者指定導航欄半透明。

本文只探討「狀態欄」

默認樣式是這樣:

可見 Toolbar 和系統狀態欄之間有明顯的分界,我們要實現的效果是 Toolbar 和狀態欄背景統一,看起來像是一個整體(自行腦補圖片)。

按照官方文檔,我們自定義主題:

對應的 Activity 引用該主題:

我看來看看效果:

雖然實現了半透明,但是布局被狀態欄覆蓋,接下來在布局文件中設置 fitSystemWindows (注意加到根節點 ConstraintLayout 上):

來看看效果:

雖然布局沒有被狀態欄覆蓋,但是狀態欄背景顯然這不是我們想要的效果😭

為什麼狀態欄會這么奇怪?

文章開頭的定義中我們說了,布局文件會延伸到狀態欄所佔區域下, fitsSystemWindows 的作用是給對應的 View 增加 padding(這里以 ConstraintLayout 為例),目的是為了讓其內容不被狀態欄遮擋。

在我們的布局文件中 ConstraintLayout 沒有設置背景(默認白色),所以狀態欄默認的半透明背景色和 ConstraintLayout 的白色背景疊加,就變成了上圖中的效果。

【總結】兩個基本概念:

1、 windowTranslucentStatus 設置為true之後,狀態欄默認是 半透明 的(4.4 是黑色到透明色漸變,5.0+ 是純黑色半透明),和我們要求的 透明 相去甚遠。更重要的是,布局會延伸到狀態欄底下。

2、 android:fitsSystemWindows 簡單理解 就是 View 為了適配系統狀態欄和導航欄(不被遮擋)自動 增加 padding ,當然真正的實現原理比這復雜很多而且不同的 View 可以自定義實現方式。

所以,為了實現文章開頭提出來的「狀態欄透明」效果,我們需要處理:

設置 windowTranslucentStatus 為 true,讓狀態欄半透明。

在根節點設置 android:fitsSystemWindows 使其不被狀態欄遮擋。

Android 4.4 暫時沒有辦法去掉狀態欄的漸變。

Android 5.0+ 開始支持修改狀態欄顏色,設置透明色即可把半透明去掉。

看看效果:

我們看到即使狀態欄透明了,但是其底色是一片白,因為跟節點 ConstraintLayout 沒有設置背景,大多情況下我們不會給整個跟節點設置顏色,可以考慮把 android:fitsSystemWindows 設置到子 View 上,本例中是 AppBarLayout (5.0+ 無效,只能顯式給 AppBarLayout 加 padding,可以利用其背景色),實際項目中可靈活調整。

最終效果:

至此,完成狀態欄透明效果,網上有很多庫,實際上都是基於此原理,在此基礎上再自定義 View 做為狀態欄背景。

https://developer.android.com/about/versions/android-4.4.html

⑻ Android 沉浸式/透明式狀態欄、導航欄

Android 從4.4開始引進透明狀態欄和導航欄的概念,並且在5.0進行了改進,將透明變成了半透明的效果。雖然此特性最早出現在ios,但不否認效果還是很贊的。
至於4.4以下的手機,就不要考慮此特性了,好在4.4以下的手機份額已經非常小了。

我們先來看一下透明狀態欄的實現,兩種常見效果圖如下:

虛擬導航欄並不是所有的手機都有,華為的手機多比較常見,就是上圖屏幕底部按鈕那塊區域。設置導航欄和狀態欄類似:

這是官方的解釋,大致意思就是我們在布局的最外層設置 android:fitsSystemWindows="true",會在屏幕最上方預留出狀態欄高度的padding。

由於fitsSystemWindows屬性本質上是給當前控制項設置了一個padding,所以我們設置到根布局的話,會導致狀態欄是透明的,並且和窗口背景一樣。

但是多數情況,我們並不在根布局設置這個屬性,我們想要的無外乎是讓內容沉浸在狀態欄之中。所以我們經常設置在最上端的圖片背景、Banner之類的,如果是Toolbar的,我們可以使用一層LinearLayout包裹,並把這個屬性設置給LinearLayout,這樣就可以避免Toolbar的內容下沉了。如:

上述方法可以解決普通頁面的透明式狀態欄需求,如有復雜需求可以參考下面這些:
Android 系統狀態欄沉浸式/透明化完整解決方案
Android 沉浸式狀態欄的實現
Android沉浸式狀態欄(透明狀態欄)最佳實現
還有開源庫推薦: ImmersionBar

⑼ 如何實現Android透明導航欄

1、androidkitkat 有一個新的特性可以設置手機狀態欄的背景,讓手機整個界面的風格保持一致,看起來非常清爽。

2、android4.4提供了一套能透明的系統ui樣式給狀態欄和導航欄,這樣的話就不用向以前那樣每天面對著黑乎乎的上下兩條黑欄了,還可以調成跟activity 一樣的樣式,形成一個完整的主題。

3、首先要打開activity的透明主題功能,可以把activity的主題設置繼承*.TranslucentDecor 主題,然後設置android:windowTranslucentNavigation或者android:windowTranslucentStatus的主題屬性為true,又或者在activity的代碼裡面開啟FLAG_TRANSLUCENT_NAVIGATION或是FLAG_TRANSLUCENT_STATUS的window窗口標識。由於透明主題不能在4.4以前的版本裡面使用,所以系統樣式跟以前沒有區別,也就是看不到任何變化,這是一個兼容模式,這個模式可以兼容到api 10。

閱讀全文

與android全透明狀態欄相關的資料

熱點內容
excel表格單列數據加密 瀏覽:646
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249
Android怎麼優化內存 瀏覽:106
linuxetcsysconfig 瀏覽:396