1.修改主题属性
在values-v19之后的主题属性中添加一条即可,如下
1
| <item name="android:windowTranslucentStatus">true</item>
|
2.设置fitsSystemWindows属性
如果你想让一个View的图像显示在状态栏下,那么就在View的XML布局文件中添加如下属性
1
| android:fitsSystemWindows="true"
|
3.调整View高度
上面两步都是统一的,这一步就比较有针对性了,对不同布局和API版本都会有所微调,主要是顶部View的高度。
如果你像我一样基本使用原生控件,那么一般情况下是调整ToolBar(ActionBar)的高度。你需要给Toolbar加上系统状态栏的高度,因为如果你设置了前面两步,那么ToolBar会上移到状态栏下面,
mToolbar = (Toolbar) findViewById(R.id.toolbar); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { mToolbar.getLayoutParams().height = getAppBarHeight(); mToolbar.setPadding(mToolbar.getPaddingLeft(), getStatusBarHeight(), mToolbar.getPaddingRight(), mToolbar.getPaddingBottom()); } setSupportActionBar(mToolbar);
private int getStatusBarHeight(){ int result = 0; int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = getResources().getDimensionPixelSize(resourceId); } return result; }
转自:http://blog.majiajie.me/2016/03/14/Android-%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%8A%B6%E6%80%81%E6%A0%8F%E5%AE%8C%E7%BE%8E%E5%AE%9E%E7%8E%B0/
本文介绍如何通过修改主题属性、设置fitsSystemWindows属性及调整View高度来实现Android应用中的沉浸式状态栏效果。适用于不同API版本及布局。
1万+

被折叠的 条评论
为什么被折叠?



