沉浸式是APP界面图片延伸到状态栏, 应用本身沉浸于状态栏,所以如果第三方的软件没有为状态栏分配图片,那么自然就是黑色。顶端的状态栏和下面的虚拟按键都隐藏,需要的时候从边缘划出。
沉浸模式。当启用该模式,应用程序的界面将占据整个屏幕,系统自动将隐藏系统的状态栏和导航栏,让应用程序内容可以在最大显示范围呈现,增加大屏体验,而当需要查看通知的时候只需要从顶部向下滑动就能呼出通知栏。
首先,手机必须ROOT。打开手机设置,在关于手机里点击版本号或者MIUI版本直至提示进入开发者模式,成功连接PC端刷机大师后,下载Xposed框架。Xposed框架安装成功后进入管理框架模块,点击安装/更新,按照提示给root权限。然后安装沉浸式状态栏模块。最后一步,进入xposed框架点击激活应用模块,在模块名称后面那个方框框内打钩。完成后按照提示重启机器即可。studio,中引入沉浸式兼容库compile ‘com.readystatesoftware.systembartint:systembartint:1.0.3’
eclipse,可以导入相应的那个类。
第一类,兼容actionbar
第一步:设置activity主题android:theme=”@style/ActionBarTheme”
<style name="ActionBarTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>
<style name="ActionBarStyle" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/actionbar_bg</item>
</style>
第二步:设置状态栏透明,然后设置状态栏沉浸的颜色
@TargetApi(19)
private void setTranslucentStatus(boolean on) {
Window win = getWindow()
WindowManager.LayoutParams winParams = win.getAttributes()
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
if (on) {
winParams.flags |= bits
} else {
winParams.flags &= ~bits
}
win.setAttributes(winParams)
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setTranslucentStatus(true)
}
SystemBarTintManager tintManager = new SystemBarTintManager(this)
tintManager.setStatusBarTintEnabled(true)
//设置沉浸的颜色tintManager.setStatusBarTintResource(R.color.statusbar_bg)}
第三步:设置适应windows,在布局文件设置
android:fitsSystemWindows=”true”
如果不设置,应用的ui会顶上去,顶进system ui
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)