Android中沉浸式状态栏,改变状态栏颜色类似QQ样式
来源:互联网 发布:拜发试剂盒软件 编辑:程序博客网 时间:2024/06/06 01:50
1、使用该功能需要使用到第三方库SystemBarTint
下载地址:https://github.com/jgilfelt/SystemBarTint
2、需要在AndroidMainfest文件中Application设置样式
android:theme="@android:style/Theme.Light.NoTitleBar"
3、第一种调用方法,常用调用方法,效果与QQ有些差异
java代码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_match_actionbar); //只对api19以上版本有效 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); } //为状态栏着色 SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintColor(Color.RED); } @TargetApi(19) private void setTranslucentStatus(boolean on) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams);}
效果图:
状态栏将布局挡住了,在布局最外层Layou中加上:
效果图:
android:fitsSystemWindows="true"
4、第二种方法,类似于QQ的效果
java代码:
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 只对api19以上版本有效if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {setTranslucentStatus(true);}}@TargetApi(19)private void setTranslucentStatus(boolean on) {Window win = getWindow();WindowManager.LayoutParams winParams = win.getAttributes();final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;if (on) {winParams.flags |= bits;} else {winParams.flags &= ~bits;}win.setAttributes(winParams);}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:fitsSystemWindows="true" android:paddingTop="@dimen/activity_vertical_margin" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </LinearLayout></RelativeLayout>
在布局最外层设置
android:background="#FF0000"android:fitsSystemWindows="true"
背景设置在下层Layout中,不然就整体颜色一致了,这样设置状态栏与整个界面为一个整体,页面滑动状态栏也会跟随滑动。
效果图:
0 0
- Android中沉浸式状态栏,改变状态栏颜色类似QQ样式
- 改变Android状态栏字体颜色和实现沉浸式状态栏
- 沉浸式状态栏颜色改变
- Android 沉浸式状态栏,状态栏颜色透明
- Android状态栏颜色设置(沉浸式状态栏)
- Android 设置状态栏颜色&&沉浸式状态栏
- android 沉浸式状态栏颜色
- android 沉浸式之改变小米状态栏颜色
- android 沉浸式之改变小米状态栏颜色
- android 沉浸式之改变小米魅族状态栏颜色
- android 4.4以后实现沉浸式状态栏 像最近Android QQ中实现的样式
- 沉浸式状态栏,改变状态栏颜色(与app风格一体)
- Android5.0沉浸式状态栏,以及动态改变状态栏颜色
- 改变、透明状态栏和导航栏颜色 (沉浸式状态栏)
- Android实现沉浸式状态栏(透明状态栏)(QQ和简书样式)
- Android设置沉浸式状态栏时改变状态栏的颜色(只对MIUI V6可用)
- 让手机状态栏随心所欲的改变颜色,即android的沉浸式状态栏
- android 沉浸式状态栏(像ios那样的状态栏与应用统一颜色样式)
- 简单的方块堆叠实现
- 仿美团实现地域选择和城市列表
- 使用SQL语句实现分组的第一天
- build.sbt
- Response对象实现请求重定向
- Android中沉浸式状态栏,改变状态栏颜色类似QQ样式
- 点击Activity的回退键返回到手机的主界面
- 学习汇报
- Linux 互斥锁、原子操作实现原理
- GSM Hacking Part ② :使用SDR捕获GSM网络数据并解密
- 剑指offer34_丑数
- Android打造不一样的EmptyView
- codeforces 707D-(DFS+bitset)
- 人生经验 读《疯狂的程序员》 有感