Statusbarcolorsetter.java
PackageCom.example.buyishi.translucentdemo;Importandroid.app.Activity;Importandroid.content.res.Resources;ImportAndroid.view.View;ImportAndroid.view.ViewGroup;ImportAndroid.view.Window;ImportAndroid.view.WindowManager; Public classStatusbarcolorsetter { Public Static voidSetstatusbarcolor (activity activity,intcolor) {Window window=Activity.getwindow (); Window.addflags (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); ViewGroup Decorview=(ViewGroup) Window.getdecorview (); View Statusbarview=NewView (activity); Resources Resources=activity.getresources (); intResourceId = Resources.getidentifier ("Status_bar_height", "Dimen", "Android"); intStatusbarheight =resources.getdimensionpixelsize (resourceId); Viewgroup.layoutparams Layoutparams=Newviewgroup.layoutparams (ViewGroup.LayoutParams.MATCH_PARENT, statusbarheight); Statusbarview.setlayoutparams (Layoutparams); Statusbarview.setbackgroundcolor (color); Decorview.addview (Statusbarview); }}
To avoid an upward offset of the interface layout, you must add android:fitssystemwindows= "true" to the layout root element
Android development, set status bar color