隐藏标题栏
首先如果创建的XxxActivity继承Activity或者FragmentActivity默认已经隐藏了标题栏,不用做任何修改。
1.在.xml文件中如果是继承AppCompatActivity则在styles.xml文件中添加<item name="windowNoTitle">true</item>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<!-- colorPrimary 标题栏背景颜色-->
<item name="colorPrimary">@color/colorPrimary</item>
<!-- colorPrimaryDark 状态栏背景色-->
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<!-- colorAccent 各控制元件(如:check box、switch 或是 radoi) 被勾选 (checked) 或是选定 (selected) 的颜色。-->
<item name="colorAccent">@color/colorAccent</item>
<item name="windowNoTitle">true</item>
或者自己新增一个style
<style name="AppTheme.NoActionBar">
<!-- 隐藏ActionBar,默认就隐藏了可省略不写 -->
<!--<item name="windowActionBar">false</item>-->
<item name="windowNoTitle">true</item>
</style>
2.在代码中去掉状态栏中的方法
requestWindowFeature(Window.FEATURE_NO_TITLE);
透明状态栏的实现
1.在styles.xml文件中style标签里面添加
<item name="android:windowTranslucentStatus">true</item>
2.代码中
//透明状态栏
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window window = getWindow();
window.setFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
如果状态栏设置成了透明,则布局会从覆盖状态栏。解决办法在布局跟控件里面加上这句代码即可
android:fitsSystemWindows="true"