久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

android狀態(tài)欄,android狀態(tài)欄字體顏色

Android如何設置頂部狀態(tài)欄顏色(主題)

在Android中我們經(jīng)常需要設置屏幕頂部狀態(tài)欄的主題和應用頁面保持同一風格,本文介紹幾種常用的設置方案:

公司主營業(yè)務:成都做網(wǎng)站、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出鏡湖免費做網(wǎng)站回饋大家。

首先給出一張圖:

2 2

通過上圖,我們可以通過設置不同的屬性來達到控制不同位置顏色的目的,下面給出使用示例,修改res/values-19里面的內(nèi)容:

主要是設置 colorPrimary,colorPrimaryDark這兩個屬性的值來設置狀態(tài)欄的顏色,需要注意的是:

1:AndroidManifest.xml文件中的targetSdkVersion必須設置在 21 以上。

2.parent主題必須是 Theme.AppCompat 開頭,兼容包下的主題,所以必須一用 v7 包。

在頂部標題欄設置屬性值達到風格一致的目的

首先修改res/values-v19文件夾下的styles.xml文件內(nèi)容如下(如果沒有可以新建一個):

然后設置頂部標題控件的兩個屬性:

這時狀態(tài)欄會保持與設置fitsSystemWindow屬性的控件的背景顏色一致。

Android設置狀態(tài)欄顏色和狀態(tài)欄文字、圖標顏色

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

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

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

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

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

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

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

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

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

Android 沉浸式/透明式狀態(tài)欄、導航欄

Android 從4.4開始引進透明狀態(tài)欄和導航欄的概念,并且在5.0進行了改進,將透明變成了半透明的效果。雖然此特性最早出現(xiàn)在ios,但不否認效果還是很贊的。

至于4.4以下的手機,就不要考慮此特性了,好在4.4以下的手機份額已經(jīng)非常小了。

我們先來看一下透明狀態(tài)欄的實現(xiàn),兩種常見效果圖如下:

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

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

由于fitsSystemWindows屬性本質(zhì)上是給當前控件設置了一個padding,所以我們設置到根布局的話,會導致狀態(tài)欄是透明的,并且和窗口背景一樣。

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

上述方法可以解決普通頁面的透明式狀態(tài)欄需求,如有復雜需求可以參考下面這些:

Android 系統(tǒng)狀態(tài)欄沉浸式/透明化完整解決方案

Android 沉浸式狀態(tài)欄的實現(xiàn)

Android沉浸式狀態(tài)欄(透明狀態(tài)欄)最佳實現(xiàn)

還有開源庫推薦: ImmersionBar

Android 狀態(tài)欄透明

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

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

翻譯一下就是:

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

本文只探討“狀態(tài)欄” 。

默認樣式是這樣:

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

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

對應的 Activity 引用該主題:

我看來看看效果:

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

來看看效果:

雖然布局沒有被狀態(tài)欄覆蓋,但是狀態(tài)欄背景顯然這不是我們想要的效果????

為什么狀態(tài)欄會這么奇怪?

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

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

【總結(jié)】兩個基本概念:

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

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

所以,為了實現(xiàn)文章開頭提出來的“狀態(tài)欄透明”效果,我們需要處理:

設置 windowTranslucentStatus 為 true,讓狀態(tài)欄半透明。

在根節(jié)點設置 android:fitsSystemWindows 使其不被狀態(tài)欄遮擋。

Android 4.4 暫時沒有辦法去掉狀態(tài)欄的漸變。

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

看看效果:

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

最終效果:

至此,完成狀態(tài)欄透明效果,網(wǎng)上有很多庫,實際上都是基于此原理,在此基礎上再自定義 View 做為狀態(tài)欄背景。

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

先看一下默認的情況:

藍色一行是自定義的導航欄,

黑色的是自帶的 ActionBar ,也就是我們說的標題欄。

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

隱藏 actionbar 有很多種方法

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

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

上面使用的主題雖然隱藏了標題欄,但是和我們自定義的導航欄不搭,

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

在 values 下的 style.xml 中添加

或者在 onCreate 中:

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

第一行設置導航欄為透明,第二行將導航欄隱藏。

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

融合的效果:

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

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

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

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

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

或者:

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

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

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

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

網(wǎng)站名稱:android狀態(tài)欄,android狀態(tài)欄字體顏色
網(wǎng)址分享:http://sd-ha.com/article46/dssgdhg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、App設計、網(wǎng)站營銷、自適應網(wǎng)站網(wǎng)站設計、網(wǎng)站建設

廣告

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

微信小程序開發(fā)