Android状态栏透明(沉浸式效果)
默认效果
沉浸式效果
方式一
源码
下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9058275
1. 修改状态栏和导航栏的属性为透明
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
效果图,发现顶部和底部都透明了,View占据了整个屏的位置,而TitleBar的位置并没有动
2. 让显示的View保持自身大小
在View的XML的根节点上添加属性
android:clipToPadding="true"
android:fitsSystemWindows="true"
效果图
3. 隐藏TitleBar
修改application主题
android:theme="@android:style/Theme.Black.NoTitleBar"
效果图
测试Toast走形
看帖子有人说这种方式Toast会走形,我测试了一下,没有走形。
方式二
源码
下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9058365
1. 修改主题
修改application的主题
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor"
或
android:theme="@android:style/Theme.Holo.Light.NoActionBar.TranslucentDecor"
或
android:theme="@android:style/Theme.Holo.NoActionBar.TranslucentDecor"
效果图
2. 让显示的View保持自身大小
在View的XML的根节点上添加属性
android:clipToPadding="true"
android:fitsSystemWindows="true"
效果图