if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){ getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } @TargetApi(19) private void initWindow(){ if (Build.VERSION.SDK_INT >= Build.VERSION_...
Android FLAG_TRANSLUCENT_NAVIGATION设置这个属性activity往上移了为什么,背景随着项目中对APM(ApplicationPerformanceManagement)越来越关注,诸如像Debug日志,运行耗时监控等都会陆陆续续加入到源码中,随着功能的增多,这些监控日志代码在某种程度上会影响甚至是干扰
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); if (!isHaveNavigationBar(context)) context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } } 这样就可以达到想要的效果了. https:...
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//Translucent navigation barwindow.setFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 的确,代码就是这么短,一行设定Status Bar、一行设定Navigation Bar 。 别忘了判断一下版本。确保4.4以下不...
FLAG_TRANSLUCENT_NAVIGATION:当使用这这个个flag时SYSTEM_UI_FLAG_LAYOUT_STABLE和SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION会被自动添加。 StatusBar颜色更改 StatusBar的颜色更改分为两部分,一个是背景颜色的修改,一个是字体颜色的修改。 首先先说说背景颜色的修改,在Android 5.0之前,状态栏颜色并不可定制,5.0之后才可...
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 步奏二 布局加入 android:fitsSystemWindows="true" android:clipToPadding="true" 我们看下activity和布局文件 /** * 沉浸式状态栏 */ private void initState() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) ...
首先,我们需要将FLAG_TRANSLUCENT_STATUS这个windowFlag换成FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,否则状态栏不会完全透明,会有一个半透明的灰色蒙层 FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS这个flag表示系统Bar的背景将交给当前window绘制 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN这个flag表示Activity全屏显示,但状态栏不会被隐藏,依然可...
window?.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) } 复制代码 Android 5.0 以上则是 privatefuntest{ valflag = (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE) ...
window?.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) window?.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) } 复制代码 Android 5.0 以上则是 private fun test() { val flag = (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION ...
Android4.4(API 19) - Android 5.0(API 21):这个阶段可以实现沉浸式,但是表现得还不是很好,实现方式为: 通过FLAG_TRANSLUCENT_STATUS设置状态栏为透明并且为全屏模式,然后通过添加一个与StatusBar 一样大小的View,将View 的 background 设置为我们想要的颜色,从而来实现沉浸式。