Android学习--系统顶部状态栏透明化
来源:互联网 发布:你给我的温柔网络歌曲 编辑:程序博客网 时间:2024/06/05 17:02
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //系统版本号判断,5.0以上系统才支持改变系统状态栏风格功能 if (Build.VERSION.SDK_INT>=21) { //拿到当前活动的DecorView View decorView = getWindow().getDecorView();//拿到当前活动的DecorView //表示活动的布局会显示在状态栏上面 decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); //setStatusBarColor()方法将状态栏设置为透明色 getWindow().setStatusBarColor(Color.TRANSPARENT); } setContentView(R.layout.activity_weather); init_view(); }
相应布局中配置属性android:fitsSystemWindows="true",为状态栏留空间,然后整体画面不会上移。
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimary"> <ImageView android:id="@+id/bing_pic_img" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" /> <ScrollView android:id="@+id/weather_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:fitsSystemWindows="true"> <include layout="@layout/title" /> <include layout="@layout/now" /> <include layout="@layout/forecast" /> <include layout="@layout/aqi" /> <include layout="@layout/suggestion" /> </LinearLayout> </ScrollView></FrameLayout>
其他方法:
View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。
setSystemUiVisibility(int visibility)方法可传入的实参为:
1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。
2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。
3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。
4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。
5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
- Android学习--系统顶部状态栏透明化
- Android 设置系统SystemUI 顶部StatusBar状态栏透明一体化
- Android 透明化系统状态栏
- android顶部状态栏透明化,并释放空间
- Android 页面顶部状态栏隐藏和透明
- 安卓学习笔记---Android 系统状态栏沉浸式/透明化完整解决方案
- Android 5.0 6.07.0 顶部状态栏透明,快速实现
- Android 系统状态栏沉浸式/透明化完整解决方案
- Android 系统状态栏沉浸式/透明化完整解决方案
- Android 系统状态栏沉浸式/透明化完整解决方案
- Android 系统状态栏沉浸式/透明化完整解决方案
- Android 系统状态栏沉浸式/透明化完整解决方案
- Android 系统状态栏沉浸式/透明化完整解决方案
- Android 系统状态栏沉浸式/透明化完整解决方案
- android应用顶部状态栏学习笔记
- Android实现4.4以上系统状态栏透明
- 系统顶部状态栏覆盖
- android 去掉顶部状态栏
- 如何安装ioncube扩展
- 资源依赖关系查询工具
- Java8新特性Lambda表达式、函数式接口
- caffe基础-12如何成功跑通caffe的example
- 每日随笔_Unity Profiler
- Android学习--系统顶部状态栏透明化
- 关于APP卡顿。在编写代码时需要注意的事情。
- 【每日一题-17】线索化二叉树与单例模式
- 设计模式2-工厂方法模式
- 【caffe源代码的梳理之一】数据结构Blob
- 二叉树各种遍历
- Codeforces Round #427 (Div. 2) A—D题
- Pandas入门学习总结
- 选项菜单与内容联动