Android状态栏/导航虚拟按键实现全透明小记 |
您所在的位置:网站首页 › 安卓底部按键三个虚拟键怎么关闭 › Android状态栏/导航虚拟按键实现全透明小记 |
刚开始的状态栏,我们设置的布局是从状态栏下开始绘制的: 代码设置状态栏全透明,我们设置的布局内容从状态栏开始绘制了: class UITool { companion object { /** * make status bar full transparent */ fun fullTransparentStatusBar(activity: Activity) { val window = activity.window if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//SDK 21,Android 5.0 window.clearFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS //or WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION ) window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE // or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) window.statusBarColor = Color.TRANSPARENT // window.decorView.findViewById(android.R.id.content).fitsSystemWindows = true // window.navigationBarColor = Color.TRANSPARENT } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//SDK 19,Android 4.4, not support full transparent window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } } } }效果如下: 如果不想把内容顶到状态栏,可以在上面代码基础上,在布局文件的根布局添加【android:fitsSystemWindows=“true”】 效果如下,这里状态栏背景色就跟布局文件中背景色一致了,内容却移到状态栏下面了: 当然也可以在上面那个方法里添加下面代码,也就是找到我们的根布局并设置【fitsSystemWindows】true: window.decorView.findViewById(android.R.id.content).getChildAt(0).fitsSystemWindows = true现在看到的状态栏和背景色都是白色,这是因为内容部分背景色主题默认是白色的,改变内容背景色就可以了【android:background="#ff0000"】,当然背景也可以是图片【android:background="@drawable/ic_launcher_background"】 效果如下: |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |