狀態列透明方法:
getwindow().addflags(windowmanager.layoutparams.
flag_translucent_status);或
<itemname="android:windowtranslucentstatus">trueitem>第一種方法是在**中設定,在setcontentview()之前設定。
第二種方法在activity的主題theme檔案中設定。
這兩種方法更多的使用者4.4版本的沉浸式狀態列效果,其主要是將狀態列的顏色設定為透明,自動將當前視窗內的布局整體上移乙個statusbar的高度。所以,在4.4版本上做沉浸式,需要單獨增加乙個狀態列高度的view,用來佔位。但是這種思路的方案在6.0上也能夠實現。有兩種方案:
方案一
private void sinkstatusbar1() else
// }
}
方案二
private void sinkstatusbar2() else
viewgroup rootview = (viewgroup) ((viewgroup) findviewbyid(android.r.id.content)).getchildat(0);
//rootview不會為狀態列留出狀態列空間
viewcompat.setfitssystemwindows(rootview,true);
rootview.setcliptopadding(true);
// }
}
兩種方案的區別,乙個是在decorview節點下增加乙個佔位view。而方案一是直接在decorview的content布局節點內增加乙個佔位view。 沉浸式狀態列
1.沉浸式狀態列,向下相容到android4.4。因為5.0以後對狀態列做了新的改變,5.0及其以上可以直接在主題中設定顏色,或者呼叫window類中的setstatusbarcolor int color 來實現。2.4.4到5.0系統可以通過 windowtranslucentstatus這一特...
沉浸式狀態列
還好擼主機智,直接判斷你的android版本,根據版本設定導航欄的高度,是和尚就念經,是驢子就拉磨,下面是擼主的 true animated barstyle light content networkactivityindicatorvisible 導航欄,用的功能強大的第三方庫 native b...
沉浸式狀態列
在 第一行 中提到了一種實現方式 使用 android fitssystemwindows true 屬性來設定。不過還需要將 android color transparent設定一下,將狀態列設定為透明狀態,不過android statusbarcolor屬性是從api21開始有的,需要建立vl...