日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
android沉浸式狀態(tài)欄實(shí)現(xiàn),android 沉浸式狀態(tài)欄框架

如何實(shí)現(xiàn)Android沉浸式狀態(tài)欄

這個(gè)特性是andorid4.4支持的,最少要api19才可以使用。下面介紹一下使用的方法,非常得簡(jiǎn)單:

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)銀海,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//透明狀態(tài)欄

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

//透明導(dǎo)航欄

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

}

}

//透明狀態(tài)欄

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

//透明導(dǎo)航欄

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

只要加入這兩行代碼,就可以實(shí)現(xiàn)沉浸式通知欄了。

給大家看看這個(gè)界面的布局:

linearlayout android:background="#ffffff" android:cliptopadding="true" android:fitssystemwindows="true" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="" xmlns:tools=""

textview android:background="#009959" android:layout_height="100dp" android:layout_width="match_parent"button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"/button/textview/linearlayout

大家看紅色的那部分,加入那兩行以后,界面仍然會(huì)是沉浸式的,但狀態(tài)欄那部分,就不會(huì)再重疊了,像加了padding一樣,如下圖:

大家看圖,綠色的textView和紅色的一個(gè)button都被下移了,狀態(tài)欄是白色的,是背景l(fā)inearLayout的顏色。很明顯,這也不是我們想要的,我們希望狀態(tài)欄和我們放在頂部的控件是同一個(gè)顏色,同時(shí),控件內(nèi)容也不和狀態(tài)欄重復(fù),其實(shí),只要把那兩行代碼放到我們頂部的控件就可以了。代碼如下:

linearlayout android:background="#ffffff" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="" xmlns:tools=""

textview android:background="#009959" android:cliptopadding="true" android:fitssystemwindows="true" android:layout_height="100dp" android:layout_width="match_parent" android:text="你好,請(qǐng)問(wèn)你有男朋友嗎/"button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"/button/textview/linearlayout

就是那兩行紅色的代碼,放在綠色的textView上,這樣,就會(huì)是下面的效果:

這就是我們想要的了。

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

沉浸式狀態(tài)欄是一種比較常見(jiàn)的UI風(fēng)格,接下來(lái)就去看看怎么實(shí)現(xiàn)它。

在styles.xml里增加TranslucentTheme,我們這里minSdkVersion 是以21為準(zhǔn),低于安卓5.0以下的手機(jī)很少了,就不適配了。

對(duì)于這種沒(méi)有標(biāo)題欄,圖片沉浸到狀態(tài)欄的效果,我們已經(jīng)實(shí)現(xiàn)了。如果是有標(biāo)題欄呢?比如加個(gè)Toolbar會(huì)變成下面這樣:

對(duì)于有標(biāo)題的頁(yè)面,我們希望狀態(tài)欄顏色跟標(biāo)題欄一樣就行了,不希望標(biāo)題欄上移跟狀態(tài)欄重疊,我們可以在布局文件根視圖設(shè)置如下屬性,這個(gè)相當(dāng)于設(shè)置了個(gè)padding讓狀態(tài)欄下移,當(dāng)然,為了讓狀態(tài)欄顏色跟標(biāo)題欄一樣,你還需要給根視圖設(shè)置一樣的背景色(因?yàn)闋顟B(tài)欄實(shí)際是透明的)。

運(yùn)行看看,已經(jīng)實(shí)現(xiàn)了我們的要求。

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

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

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

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

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

這是官方的解釋,大致意思就是我們?cè)诓季值淖钔鈱釉O(shè)置 android:fitsSystemWindows="true",會(huì)在屏幕最上方預(yù)留出狀態(tài)欄高度的padding。

由于fitsSystemWindows屬性本質(zhì)上是給當(dāng)前控件設(shè)置了一個(gè)padding,所以我們?cè)O(shè)置到根布局的話,會(huì)導(dǎo)致?tīng)顟B(tài)欄是透明的,并且和窗口背景一樣。

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

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

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

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

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

還有開源庫(kù)推薦: ImmersionBar


本文名稱:android沉浸式狀態(tài)欄實(shí)現(xiàn),android 沉浸式狀態(tài)欄框架
分享鏈接:http://www.dlmjj.cn/article/hospcg.html