沉浸布局

public static void immersive(Window window){

if (Build.VERSION.SDK_INT

return;

}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setStatusBarColor(Color.TRANSPARENT);

int visibility = window.getDecorView().getSystemUiVisibility();

visibility |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;

visibility |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;

window.getDecorView().setSystemUiVisibility(visibility);

}else {

window.addFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

}

}

/**

* 获取状态栏高度

* @param context

* @return

*/

public static int getStatusBarHeight(Context context) {

int height =0;

try {

Resources resources = context.getResources();

int resourceId = resources.getIdentifier("status_bar_height","dimen","android");

height = resources.getDimensionPixelSize(resourceId);

}catch (Exception e){

e.printStackTrace();

}

return height;

}

style 选择:

<style name="AppTheme.NoActionBar.Reward" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="android:windowTranslucentStatus">true</item>

    </style>

//设置状态的高度

view.findViewById(R.id.bar).getLayoutParams().height = ToolStatusBar.getStatusBarHeight(getContext());


//设置状态栏的颜色

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容