时间:2021-05-21
我们先看一下代码:
public class MainActivity extends AppCompatActivity { ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Build.VERSION.SDK_INT >= 21){ View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); getWindow().setStatusBarColor(Color.TRANSPARENT); } setContentView(R.layout.activity_main); ... }由于这个功能是Android5.0及以上的系统才支持的,因此我们先在代码中做一个系统版本号的判断,只有当版本号大于或等于21的时候,也就是5.0及以上系统时才会执行后面的代码。
接着我们调用了getWindow().getDecorView()方法拿到当前活动的DecorView,再调用它的setSystemUiVisibility()方法来改变系统UI的显示,这里传入View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和View.SYSTEM_UI_FLAG_LAYOUT_STABLE就表示活动的布局会显示在状态栏上面,最后调用一下setStatusBarColor()方法将状态栏设置成透明色。
仅仅这些代码就可以实现让背景图和状态栏融合到一起的效果了。
不过,如果运行一下程序,你会发现还是有些问题,界面的头布局几乎和系统状态栏紧贴到一起了,这是由于系统状态栏已经成为我们布局的一部分,因此没有单独为它留空间。当然,这个问题也是非常好解决的,借助android:fitsSystemWindows属性就可以了。
见代码:
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimary"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:fitsSystemWindows="true"> </LinearLayout></FrameLayout>这样就可以了。
以上这篇Android 实现背景图和状态栏融合方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如下图:状态栏是指android手机顶部显示手机状态信息的位置。android自4.4开始新加入透明状态栏功能,状态栏可以自定义颜色背景,使titleBar能够
本文介绍了android开发修改状态栏背景色和图标颜色的示例,分享给大家,具体如下:修改状态栏背景色和图标颜色默认是黑底白字的,现在要改为白底黑字的先看下效果图
本文实例讲述了Android编程实现隐藏状态栏及测试Activity是否活动的方法。分享给大家供大家参考,具体如下:一、隐藏状态栏方法如下:在程序中加入//re
本文包含3种隐藏顶部状态栏及标题栏和一种隐藏Android4.0平板底部状态栏的方法,分享给大家供大家参考,具体内容如下方法一publicclassMainAc
透明状态栏(StatusBar)的全适配状态栏指定android手机上顶部显示手机状态信息的位置。透明状态栏是android自4.4开始新加入的功能,他可以是状